سؤال

أرغب في إنشاء نافذة منبثقة للمنتجات بدلاً من التوجيه إلى صفحة أخرى.أنا أبحث عن نصيحة حول أفضل طريقة لعمل نسخة من قالب عرض المنتج لتعديله حسب احتياجاتي دون الحاجة إلى إنشاء نماذج وكتل منفصلة.أنا أستخدم الإصدار 1.3.2.2.اسمحوا لي أن أعرف إذا كان أي شيء يحتاج إلى توضيح.

أدرك أن هناك وحدات يمكنها القيام بذلك، لكني أرغب في القيام بذلك بنفسي.جزئيا للتعلم.

هل كانت مفيدة؟

المحلول

كقاعدة عامة، يمكنك استخدام Javascript لتغيير روابط صفحة المنتج لفتحها في نافذة منبثقة (ليس من الواضح ما إذا كنت تقصد طبقة AJAX أو نافذة منبثقة "حقيقية"، والتي ستحظرها العديد من متصفحات المستخدمين).ثم قم بتعديل ملفات XML للتخطيط لإضافة أو إزالة أي كتل تحتاجها.

إذا كنت تريد الحصول على كل من الصفحة العادية و"الطبقة" التي تم تمرير الماوس فوقها، فقم بإنشاء وحدة تحكم جديدة واجعلها ترث من تخطيط عرض الكتالوج (IIRC، $this->loadLayout('catalog_product_view') يجب القيام به).ثم، مرة أخرى، قم بتغيير التخطيطات لـ لك علامة تخطيط لإضافتها وإزالتها حسب الضرورة.

نصائح أخرى

لم تكن إجابة يوسف واضحة تماما بالنسبة لي، ولكن هذا ما فعلته.لقد قمت بإنشاء وحدة نمطية جديدة للنافذة المنبثقة باستخدام وحدة تحكم جديدة تعمل على توسيع ProductController.لقد قمت بإنشاء نسخة من viewAction وأعدت تسميتها إلى popupAction في وحدة التحكم الجديدة الخاصة بي.

ثم قمت بعمل نسخة من ملف catalog.xml وأعدت تسميته وفقًا لوحدتي.ثم قم بحذف كل ما لا يتعلق بصفحة عرض المنتج.لقد قمت بعمل نسخة من قالب العرض وقمت بتعيينه كقالب في تخطيط XML الخاص بي.ثم قمت بإجراء التغييرات اللازمة إما داخل تخطيط XML أو قالب العرض الجديد.

لم أستطع الحصول على $this->loadLayout('catalog_product_view') للعمل بالنسبة لي.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top