Blocco personalizzato Duplicazione del prodotto Visualizza utilizzando local.xml
-
12-12-2019 - |
Domanda
Sto cercando di aggiungere un nuovo blocco alla pagina Visualizza il prodotto utilizzando il mio file local.xml, all'interno di questo file ho quanto segue:
<catalog_product_view translate="label">
<reference name="content">
<block type="catalog/product_view" name="product.info" template="catalog/product/view.phtml">
<block type="underlay_products/carpets" name="catalog.product.carpet_underlay" as="carpet_underlay" template="catalog/product/views/partials/carpet_underlay.phtml"/>
</block>
</reference>
</catalog_product_view>
.
che aggiunge il blocco, ma è nel posto sbagliato e duplica la pagina di visualizzazione del prodotto (ci sono 2 immagini, 2 nomi di prodotti, ecc.) E il mio blocco è in fondo quando dovrebbe essere in un posto diverso. Tuttavia, se aggiungo questa riga al mio file Catalog.xml sotto il blocco dei relativi_products funziona assolutamente soddisfacente, il contenuto è nel posto giusto e non c'è duplicazione del prodotto:
<block type="underlay_products/carpets" name="catalog.product.carpet_underlay" as="carpet_underlay" template="catalog/product/views/partials/carpet_underlay.phtml"/>
.
Qualche idea perché ciò accade e posso usare invece il mio file local.xml?
Soluzione
Il motivo per cui hai la vista del catalogo è perché avvolgi il codice con il seguente.
<block type="catalog/product_view" name="product.info" template="catalog/product/view.phtml">
.
Cosa puoi fare è riferimento di chiamata per utilizzare il blocco corrente.
<reference name="product.info">
<block type="underlay_products/carpets" name="catalog.product.carpet_underlay" as="carpet_underlay" template="catalog/product/views/partials/carpet_underlay.phtml"/>
</reference>
. Altri suggerimenti
There is no need for re-defining
<block type="catalog/product_view" name="product.info" template="catalog/product/view.phtml">
in local.xml, All you need is to add your block to existing block. Below should work ( I have not tested though )
<catalog_product_view translate="label">
<reference name="product.info">
<block type="underlay_products/carpets" name="catalog.product.carpet_underlay" as="carpet_underlay" template="catalog/product/views/partials/carpet_underlay.phtml"/>
</reference>
</catalog_product_view>