Aggiungi Personalizza Confronta il prodotto alla pagina dell'account cliente
-
12-12-2019 - |
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 ??
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>