0

是否可以通过在社区池中创建新模块来覆盖位于此处的模板/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但不知道如何解决这个问题。

4

1 回答 1

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。可能不需要替换/扩展当前块,因为它已经做得很好了。

于 2012-07-13T18:40:27.323 回答