Aggiungi Recensione Il Modulo Alla Pagina Del Prodotto Magento 1.9
-
12-12-2019 - |
Domanda
Sto cercando di spostare il modulo di recensione del prodotto da /recensione/prodotto/elenco/ la pagina del prodotto, sotto le recensioni esistenti, su Magento 1.9.0.1 utilizzando un tema figlio di RWD.
Questa è la recensione originale scheda review.xml:
<catalog_product_view>
<reference name="product.info">
<block type="review/product_view_list" name="product.reviews" as="reviews" template="review/product/view/list.phtml" after="additional">
<action method="addToParentGroup"><group>detailed_info</group></action>
<action method="setTitle" translate="value"><value>Reviews</value></action>
</block>
</reference>
</catalog_product_view>
Visualizza le recensioni e forma sulla pagina del prodotto:
<catalog_product_view>
<reference name="product.info">
<block type="review/product_view_list" name="product.info.product_additional_data" as="product_additional_data" template="review/product/view/list.phtml">
<block type="review/form" name="product.review.form" as="review_form">
<block type="page/html_wrapper" name="product.review.form.fields.before" as="form_fields_before" translate="label">
<label>Review Form Fields Before</label>
<action method="setMayBeInvisible"><value>1</value></action>
</block>
</block>
</block>
</reference>
</catalog_product_view>
Come faccio a mettere questo nel 'recensioni' scheda?
Soluzione
Si sta andando nella giusta direzione, ma è necessario fare alcune modifiche:
addToParentGroup
esetTitle
vengono utilizzati per mostrare i contenuti in revisione, quindi aggiungere il codice riportato di seguito<action method="addToParentGroup"><group>detailed_info</group></action> <action method="setTitle" translate="value"><value>Reviews</value></action>
hai bisogno di cambiare il blocco nome alias del tipo di blocco
review/product_view_list
perproduct_additional_data_review
comeproduct_additional_data
alias nome già esiste nel prodotto.<block type="review/product_view_list" name="product.info.product_additional_data_review" as="product_additional_data_review" template="review/product/view/list.phtml"> <action method="addToParentGroup"><group>detailed_info</group></action> <action method="setTitle" translate="value"><value>Reviews</value></action> <block type="review/form" name="product.review.form" as="review_form"> <block type="page/html_wrapper" name="product.review.form.fields.before" as="form_fields_before" translate="label"> <label>Review Form Fields Before</label> <action method="setMayBeInvisible"><value>1</value></action> </block> </block> </block>
Altri suggerimenti
Prendi il catalogo.xml da impostazione predefinita al tema e cambia come segue
<catalog_product_view translate="label">
<reference name="content">
<block type="catalog/product_view" name="product.info" template="catalog/product/view.phtml">
<block type="review/product_view_list" name="product.top.reviews" as="product.top.reviews" template="review/product/view/list.phtml">
<block type="review/form" name="product.review.form" as="review_form" />
</block>
</block>
</reference>
</catalog_product_view>
.
e nella pagina dei dettagli prova ad aggiungere
<?php echo $this->getChildHtml('review_form') ?>
. Grazie mille per il suggerimento, per me ha funzionato molto bene.Ho ancora un problema, le schede di revisione sono leggite due volte.L'XML è correttamente, dai un'occhiata:
<block type="review/product_view_list" name="product.info.product_additional_data_review" as="product_additional_data_review" template="review/product/view/list.phtml">
<action method="addToParentGroup"><group>detailed_info</group></action>
<action method="setTitle" translate="value"><value>Customer Reviews</value></action>
<block type="review/form" name="product.review.form" as="review_form">
<block type="page/html_wrapper" name="product.review.form.fields.before" as="form_fields_before" translate="label">
<label>Review Form Fields Before</label>
<action method="setMayBeInvisible"><value>1</value></action>
</block>
</block>
</block>
. Aggiungi <remove name="product.reviews"/>
Prima che i tag e la versione duplicata dovrebbero essere andati.In questo modo il blocco delle recensioni sarà il primo rimosso e dopo questo verrà nuovamente aggiunto con il nuovo blocco di recensioni.
.<block type="review/product_view_list" name="product.info.product_additional_data_review" as="product_additional_data_review" template="review/product/view/list.phtml">
<remove name="product.reviews"/>
<action method="addToParentGroup"><group>detailed_info</group></action>
<action method="setTitle" translate="value"><value>Reviews</value></action>
<block type="review/form" name="product.review.form" as="review_form">
<block type="page/html_wrapper" name="product.review.form.fields.before" as="form_fields_before" translate="label">
<label>Review Form Fields Before</label>
<action method="setMayBeInvisible"><value>1</value></action>
</block>
</block>
</block>
Basta inserire questo codice nel file tema del layout di review.xml
.
<catalog_product_view>
<reference name="product.info">
<block type="review/product_view_list" name="product.reviews" as="reviews" template="review/product/view/list.phtml" after="additional">
<action method="addToParentGroup">
<group>detailed_info</group>
</action>
<action method="setTitle" translate="value">
<value>Reviews</value>
</action>
<block type="review/form" name="product.review.form" as="review_form"/>
<block type="review/product_view_list" name="product.info.product_additional_data" as="product_additional_data_review" template="review/product/view/reviews-in-tab.phtml">
<block type="review/form" name="product.review.form" as="review_form"/>
</block>
</block>
</reference>
</catalog_product_view>
.