إضافة تخصيص مقارنة المنتج إلى صفحة حساب العميل
-
12-12-2019 - |
سؤال
أنا جديدة على الماجنتو, وأنا تكافح مع هذه المشكلة.أريد إضافة تخصيص مقارنة المنتج إلى صفحة حساب العميل ، لذلك قمت بإنشاء كتلة التخصيص الخاصة بي
\template\catalog\product\compare\mycompare.phtml
وفي بلدي المحلية.شمل أضيف
<action method="addLink" translate="label" module="catalog">
<name>catalog.compare.list</name>
<path>index.php/catalog/product_compare/index/</path>
<label>My Compare</label>
</action>
<catalog_product_compare_index>
<label>Catalog Product Compare List</label>
<!-- Mage_Catalog -->
<update handle="customer_account"/>
<reference name="my.account.wrapper">
<block type="catalog/product_compare_list" name="catalog.compare.list" template="catalog/product/compare/mycompare.phtml"/>
</reference>
</catalog_product_compare_index>
انها العمل ، ولكن كان يسمى هذا كتلة 2 مرات.والأصلي مقارنة المنتجات (واحد مع نوافذ جديدة عند النقر عليها) تغيرت أيضا انها تخطيط!كيف يجب أن أفعل لإصلاحه??
المحلول
وكانت المشكلة لأنني استخدام نفس المسار مع المنبثقة مقارنة المنتج.
<path>index.php/catalog/product_compare/index/</path>
وهذا الرمز
<catalog_product_compare_index>
<label>Catalog Product Compare List</label>
<!-- Mage_Catalog -->
<update handle="customer_account"/>
<reference name="my.account.wrapper">
<block type="catalog/product_compare_list" name="catalog.compare.list" template="catalog/product/compare/mycompare.phtml"/>
</reference>
</catalog_product_compare_index>
تغيير المنبثقة مقارنة تخطيط المنتج.
لذلك ، ما أقوم به هنا فقط لإنشاء وحدة جديدة.إنشاء IndexController
مع indexAction
,
public function indexAction() {
$this->loadLayout();
$this->getLayout()->getBlock('head')->setTitle($this->__('My Compare'));
$this->renderLayout();
}
وتغيير بعض التعليمات البرمجية في local.xml
:
<action method="addLink" translate="label" module="mycompare">
<name>mycompare</name>
<path>mycompare/index</path>
<label>My Compare</label>
</action>
<mycompare_index>
<label>Catalog Product Compare List</label>
<!-- Mage_Catalog -->
<update handle="customer_account"/>
<reference name="my.account.wrapper">
<block type="catalog/product_compare_list" name="mycompare" as="mycompare" template="catalog/product/compare/mycompare.phtml"/>
</reference>
</mycompare_index>
نصائح أخرى
وبما أنني لست متأكدا ما تريد تحقيقه ، وسوف يتم توفير 2 حلول مختلفة:
الحل 1. إذا كنت بحاجة إلى إزالة الازدواجية في نافذة منبثقة مقارنة المنتجات وإضافة قالب كتلة مقارنة المنتجات المخصص الخاص بك ، فأنت بحاجة إلى تنفيذ ما يلي في local.xml
:
<catalog_product_compare_index>
<update handle="customer_account"/>
<reference name="content">
<action method="unsetChild"><name>catalog.compare.list</name></action>
</reference>
<reference name="my.account.wrapper">
<block type="catalog/product_compare_list" name="catalog.compare.list" template="catalog/product/compare/mycompare.phtml"/>
</reference>
</catalog_product_compare_index>
الحل 2. إذا كنت بحاجة إلى إضافة كتلة قالب مقارنة المنتجات المخصصة إلى صفحة لوحة معلومات حساب العميل ، فأنت بحاجة إلى تنفيذ ما يلي في local.xml
:
<customer_account_index>
<reference name="my.account.wrapper">
<block type="catalog/product_compare_list" name="catalog.compare.list" template="catalog/product/compare/mycompare.phtml"/>
</reference>
</customer_account_index>