您好,我在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
Block被覆盖但我的块被显示两次。这是问题,因为我不能改变oryginal块。
答案 0 :(得分: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>