【问题标题】:Magento - adding reviews to product page in block. cant get form to loadMagento - 在块中向产品页面添加评论。无法加载表单
【发布时间】:2014-01-24 19:58:05
【问题描述】:

我正在尝试在 magento 中将评论和表单添加到我的产品页面......而不是在标签中。 如果我使用 getChildHtml('product_additional_data') ?> 并将以下代码添加到我的 local.xml 中。

<catalog_product_view>
    <reference name="product.info.additional">
    <block type="review/product_view_list" name="product.info.product_additional_data" before="product.info.tags" as="product_review" template="review/product/view/list.phtml">
    <!-- <block type="page/html_pager" name="product_review_list.toolbar" /> -->
    <block type="core/template" name="product_review_list.count" template="review/product/view/count.phtml" />
    <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">
    <action method="setMayBeInvisible"><value>1</value></action>
    </block>
    </block>
    </block>
    </block> 
    </reference>
</catalog_product_view>

但是,附加数据也会调用标签,然后它们会出现在评论之前而不是之后。据我所知,我不能在这种块类型上使用 BEFORE/AFTER?

所以我想我可以创建一个单独的块,将评论称为“评论”。 并将其置于“additional_data”之上。

我在 local.xml 中将我的代码更改为以下内容

<catalog_product_view>
<reference name="product.info">
<block type="review/product_view_list" name="reviews" before="product.info.tags" as="reviews" template="review/product/view/list.phtml">
<!-- <block type="page/html_pager" name="product_review_list.toolbar" /> -->
<block type="core/template" name="product_review_list.count" template="review/product/view/count.phtml" />
<block type="review/product_view_list" name="product.info.product_additional_data" as="reviews" template="review/product/view/list.phtml">
<block type="review/form" name="product.review.form" as="review_form" template="review/form.phtml">
<block type="page/html_wrapper" name="product.review.form.fields.before" as="form_fields_before">
<action method="setMayBeInvisible"><value>1</value></action>
</block>
</block>
</block>
</block> 
</reference>
</catalog_product_view>

但我无法显示表单。我尝试向表单添加模板调用,但这也不起作用。

【问题讨论】:

    标签: php magento


    【解决方案1】:

    你可以试试这个。 打开:review.xml,在你的“layout”目录中。

    找到以下部分:

    <block type="review/product_view_list" name="product.reviews" as="reviews" template="review/product/view/list.phtml" after="additional">
    

    在此块内添加以下内容:

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

    所以你的最终结果应该是......

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

    现在清除缓存并检查输出。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-06
      • 2013-08-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多