2012-07-13 91 views
0

是否可以通过在社区池中创建新模块来覆盖位于此处的模板/app/design/adminhtml/default/default/template/(例如/app/design/adminhtml/default/default/template/customer/edit/js.phtml)?覆盖社区池中的adminhtml区块模板

所以事情是我不希望覆盖它通过将文件(或任何东西)放在本地池中。

是否有可能通过扩展适当的块类或类似的东西来做到这一点?

我在/app/design/adminhtml/default/my_directory/template/中创建了相同的文件,并在/app/code/community/MyCompany/MyModule/Block/Adminhtml/Customer/Edit.php中扩展了Mage_Adminhtml_Block_Customer_Edit类,并且不知道如何解决此问题。

回答

1

在你的模块的配置(app/code/community/MyCompany/MyModule/etc/config.xml)添加以下部分:

<adminhtml> 
    <layout> 
     <updates> 
      <mycompany_mymodule> 
       <file>mycompany_mymodule.xml</file> 
      </mycompany_mymodule> 
     </updates> 
    </layout> 
</adminhtml> 

这会让法师寻找一个新的文件中app/design/adminhtml/default/layout/mycompany_mymodule.xml应该是这个样子:

<?xml version="1.0"?> 
<layout> 
    <adminhtml_customer_edit> 
     <reference name="customer.edit.js"> 
      <action method="setTemplate"> 
       <template>mydirectory/edit/js.phtml</template> 
      </action> 
     </reference> 
    </adminhtml_customer_edit> 
</layout> 

而且然后在你的文件app/design/adminhtml/default/template/mydirectory/edit/js.phtml上工作。可能不需要替换/扩展当前块,因为它现在已经做得很好。