【问题标题】:overriding adminhtml block template in community pool覆盖社区池中的 adminhtml 块模板
【发布时间】:2012-07-13 13:28:20
【问题描述】:

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

所以问题是我不想通过将文件(或任何东西)放在本地池中来覆盖它。

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

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

【问题讨论】:

    标签: templates magento overriding block adminhtml


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

    【讨论】:

      猜你喜欢
      • 2012-07-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-03
      • 2012-08-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多