如何在产品页面的标签中显示评论表单和评论。 我在catalog.xml中执行以下操作
<!--action method="addTab" translate="title" module="catalog"><alias>review</alias><title>Review</title><block>review/product_view_list</block><template>review/product/view/list.phtml</template></action--> <!--For getting the review datails-->
<action method="addTab" translate="title" module="catalog"><alias>review</alias><title>Review</title><block>review/form</block><template>review/form.phtml</template></action> <!--For displaying review form-->
答案 0 :(得分:5)
这就是我在其中一个项目中处理这种情况的方法:
添加带评论的标签
<block type="catalog/product_view_tabs" name="product.info.tabs" as="info_tabs" template="catalog/product/view/tabs.phtml" >
<action method="addTab" translate="title" module="catalog"><alias>tab_review_list</alias><title>Product Reviews</title><block>review/product_view_list</block><template>catalog/product/view/tabs/reviews.phtml</template></action>
</block>
现在,审核表单由不同类型的块处理,该块通常是评论页面的子块。无法使用addTab
操作创建嵌套块,但您可以在以下标签中创建审核块后使用<reference>
处理程序:
<reference name="tab_review_list">
<block type="review/form" name="tab_review_form" as="review_form" template="catalog/product/view/tabs/review_form.phtml" />
</reference>
name
处理程序中的 <reference>
必须等于<alias>
操作中addTab
中的内容
在catalog/product/view/tabs/reviews.phtml
中你只需使用
echo $this->getChildHtml('review_form');
您可以使用<reference>
处理程序向审核列表和审核表单添加更多块。
当然,您必须在template
参数中输入的路径中为审核列表和审核表单创建文件,因此在这种情况下,您需要创建catalog/product/view/tabs/reviews.phtml
和catalog/product/view/tabs/review_form.phtml
。您可以将审核表单模板更改为默认值review/form.phtml
,如果您不需要更改其中的代码,或者您将仅在该选项卡中使用它,但审核列表可能需要在html结构中进行更多更改,因此最好将其更改为为它创建单独的文件,并根据需要使用部分默认代码。