我希望使用 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>

我如何将其放入“评论”选项卡?

有帮助吗?

解决方案

您的方向是正确的,但您需要做一些修改:

  1. addToParentGroupsetTitle 用于显示审核中的内容,因此请在下面添加此代码

    <action method="addToParentGroup"><group>detailed_info</group></action>
    <action method="setTitle" translate="value"><value>Reviews</value></action>
    
  2. 您需要更改块类型的块别名review/product_view_listproduct_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>
    

enter image description here

其他提示

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

许可以下: CC-BY-SA归因
scroll top