将评论表单添加到产品页面 Magento 1.9
-
12-12-2019 - |
题
我希望使用 RWD 子主题将产品评论表单从 /review/product/list/ 移动到 Magento 1.9.0.1 上现有评论下方的产品页面。
这是 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>
这会在产品页面上显示评论和表单:
<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>
我如何将其放入“评论”选项卡?
解决方案
您的方向是正确的,但您需要做一些修改:
addToParentGroup
和setTitle
用于显示审核中的内容,因此请在下面添加此代码<action method="addToParentGroup"><group>detailed_info</group></action> <action method="setTitle" translate="value"><value>Reviews</value></action>
您需要更改块类型的块别名
review/product_view_list
到product_additional_data_review
作为product_additional_data
产品中已存在别名。<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>
其他提示
将Catalog.xml从默认值拿到主题,然后更改如下
<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>
.
以及详细信息页面尝试添加
<?php echo $this->getChildHtml('review_form') ?>
. 非常感谢暗示,对我来说,它的工作非常好。我仍然存在问题,审查选项卡显示两次。XML正确,看看:
<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>
. 在标签之前添加 <remove name="product.reviews"/>
,复制版本应该消失。这样,评论块将首次删除,并在此之后将其再次添加新评论块。
.<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>
只需将此代码放在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>
.