如何覆盖Magento核心块?

时间:2012-12-15 00:41:44

标签: php magento

我正在尝试覆盖Magento审核系统并使用我自己的审核系统。

我创建了一个模块并将其激活(可在站点的配置区域中查看)。我已经创建了一个自定义布局,我现在正试图覆盖一些块。

我尝试了两种方法:

<review_product_list translate="label">

    <block type="reviewwidget/widget" name="product.info.product_additional_data" as="product_additional_data" template="reviewwidget/widget.phtml"></block> 

</review_product_list>

并且

<review_product_list translate="label">

    <reference name="content">
        <block type="reviewwidget/widget" name="product.info.product_additional_data" as="product_additional_data" template="reviewwidget/widget.phtml"></block> 
    </reference>   

</review_product_list>

我期望第一种方法覆盖块并使用我的自定义块和模板。它没有效果。

第二种方法在我尝试替换的块之后在我的自定义模板中呈现强效。

有人能告诉我如何更换这个街区吗?

2 个答案:

答案 0 :(得分:6)

<blocks>
    <my_module>
        <class>My_Module_Block</class>
    </my_module>
    <review>
        <rewrite>
            <product_view_list>My_Module_Block_Widget</product_view_list>
        </rewrite>
    </review>
</blocks>

标记<product_view_list>表示您要重写Mage_Review_Block_Product_View_List。

答案 1 :(得分:1)

试试这个:

<reference name="product.info">
    <action method="unsetChild"><alias>product_additional_data</alias></action>
    <!-- add your block here -->
</reference>