是否可以通过在社区池中创建新模块来覆盖位于/app/design/adminhtml/default/default/template/
的模板(例如/app/design/adminhtml/default/default/template/customer/edit/js.phtml
)?
所以问题是我不希望通过将文件(或任何内容)放在本地池中来覆盖它。
是否可以通过扩展适当的块类或类似的东西来做到这一点?
我在/app/design/adminhtml/default/my_directory/template/
中创建了同一个文件,并在Mage_Adminhtml_Block_Customer_Edit
中创建了扩展/app/code/community/MyCompany/MyModule/Block/Adminhtml/Customer/Edit.php
类,并且不知道如何解决这个问题。
答案 0 :(得分:1)
在模块的配置(app/code/community/MyCompany/MyModule/etc/config.xml
)中添加以下部分:
<adminhtml>
<layout>
<updates>
<mycompany_mymodule>
<file>mycompany_mymodule.xml</file>
</mycompany_mymodule>
</updates>
</layout>
</adminhtml>
这会让mage在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
。可能没有必要替换/扩展当前块,因为它已经做得很好。