1

嗨,我在 Magento 1.7 中有 AffiliantePlus 模块。我想覆盖 register.phtml 块。

在affiliate plus /app/design/frontend/mytheme/default/layout/affiliateplus.xml 关于注册

<affiliateplus_account_register>
    <update handle="affiliateplus_default" />
    <reference name="content">
        <block type="affiliateplus/account_edit" name="affiliateplus_register" template="affiliateplus/account/register.phtml" />
    </reference>
</affiliateplus_account_register>

<affiliateplus_account_edit>
    <update handle="affiliateplus_default" />
    <reference name="content">
        <block type="affiliateplus/account_edit" name="affiliateplus_register" template="affiliateplus/account/edit.phtml" />
    </reference>
</affiliateplus_account_edit>

在 /app/design/frontend/mytheme/defaule/layout/mymodule.xml

<layout varsion="0.1.0">
<affiliateplus_account_register>
    <update handle="affiliateplus_default" />
    <reference name="content">
        <block type="affiliateplus/account_edit" name="affiliateplus_register" template="partner/account/register.phtml"/>
    </reference>
</affiliateplus_account_register>

我尝试使用 mymodule/account_edit、mymodule_register

块被覆盖,但我的块显示两次。这是问题,因为我无法更改原始块。

4

1 回答 1

2

你可以做这样的事情......摆脱原始块并添加具有另一个名称的新块,因为它显然是一个自渲染内容块。

<affiliateplus_account_register>
 <reference name="content">
    <action method="unsetChild"><name>affiliateplus_register</name></action>
 </reference>
</affiliateplus_account_register>

但是由于您只是使用另一个模板,我建议您而不是您的 xml 来简单地更改模板并保持其他所有内容不变

 <affiliateplus_account_register>   
   <reference name="affiliateplus_register">
     <action method="setTemplate">
       <template>partner/account/register.phtml</template>
     </action>   
  </reference> 
 </affiliateplus_account_register>
于 2013-09-02T09:10:30.900 回答