Domanda

Sono nuovo a magento, e sto lottando con questo problema.Voglio aggiungere personalizza Confronta il prodotto alla pagina dell'account cliente, quindi ho creato il mio blocco personalizzabile in

\template\catalog\product\compare\mycompare.phtml
.

e nel mio locale.xml aggiungo

<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>
.

È un lavoro, ma quel blocco è stato chiamato 2 volte.E originali Confronta prodotti (uno con nuove finestre quando cliccato) ha cambiato anche il suo layout!Come dovrei fare per sistemarlo ??

È stato utile?

Soluzione

Il problema era perché uso lo stesso percorso con il pop-up Confronta il prodotto.

<path>index.php/catalog/product_compare/index/</path>
.

E questo codice

 <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>
.

Cambia pop-up Confronta layout del prodotto.

Allora, cosa faccio qui solo per creare un nuovo modulo.Creare IndexController con indexAction,

public function indexAction() {
        $this->loadLayout();
        $this->getLayout()->getBlock('head')->setTitle($this->__('My Compare'));
        $this->renderLayout(); 
}
.

e cambia qualche codice in 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>
.

Altri suggerimenti

Dal momento che non sono sicuro di cosa vuoi raggiungere, fornirò 2 soluzioni diverse:

Soluzione 1. Se è necessario rimuovere la duplicazione nella finestra del popup dei prodotti Confronta e aggiungere il proprio modello di blocco di prodotti personalizzato, è necessario implementare il seguente in 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>
.


.

Soluzione 2. Se è necessario aggiungere il tuo personalizzato Confronta il blocco modello Prodotti alla pagina del dashboard dell'account cliente, è necessario implementare il seguente in 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>
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top