إضافة تخصيص مقارنة المنتج إلى صفحة حساب العميل

magento.stackexchange https://magento.stackexchange.com//questions/45669

  •  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>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى magento.stackexchange
scroll top