我必须为以下每个adminhtml模板添加一段代码:
shipment/create/form.phtml
shipment/view/form.phtml
creditmemo/create/form.phtml
creditmemo/view/form.phtml
invoice/create/form.phtml
invoice/view/form.phtml
因此总共有6个模板,所有模板都需要相关的布局代码才能将模板从默认的magento替换为我的自定义模板。
所有这些都是为了添加一行代码来回应一些东西。
现在,我看不到它,但有没有办法让我以某种方式将代码添加到这些模板中,但不必用我的自定义版本替换默认的magento模板?
答案 0 :(得分:1)
无需更改模板必需。 Adminhtml呈现与前端呈现相同,包括回退。在模块的配置中为admin存储指定自定义主题:
<config>
<!-- ... -->
<stores>
<admin>
<design>
<theme>
<template>your_theme</template>
<!-- or <default>your_theme</default> -->
</theme>
</design>
</admin>
</stores>
</config>
如果这是一个分布式模块,您将需要一个不同的方法,或者您需要建议客户使用您的自定义模板的扩展。这种方法在CE1.6.1.0 due to the Find_Feed
module之前不起作用。
在这种情况下,您可以使用布局更新XML来更改按照您所描述的方式使用的模板。如果用户已经在为这些块使用自定义模板,这是不理想的 - 不太可能,但可能。如果情况变得更糟,您可以随时观察core_block_abstract_to_html_after
事件作为最后的手段。