我想覆盖
app'design'adminhtml'default'default'template'catalog'product'edit'options'type'select.phtml
并将其替换为我的自定义模块。我无法替换该文件。我把我的自定义文件放在这个位置,并创建了一个app'design'adminhtml'default'default'layout'mymodule.xml
文件:
<adminhtml>
<layout>
<updates>
<Mycompany_Mymodule>
<file>Mycompany_Mymodule.xml</file>
</Mycompany_Mymodule>
</updates>
</layout>
</adminhtml>
但这并没有取代文件。有什么想法我应该试试吗?
我能想到的选项:
将核心模板复制到:app/design/adminhtml/default/default/template/controlog/my_namespace/product/edit/options/type/select.html
A。重写块类型:adminhtml/catalog_product_edit_tab_options_type_select,重载构造函数,用模板的路径调用setTemplate。
或
B。钩住core_block_abstract_prepare_layout_before,并使用模板的路径为该块类调用setTemplate。
另一个选项,我不确定是推荐的,可以通过模块的config.xml为管理员添加设置主题:
<stores>
<admin>
<design>
<package>
<name>default</name>
</package>
<theme>
<default>mytheme</default>
</theme>
</design>
</admin>
</stores>
然后,您可以将修改后的模板放入:app/design/adminhtml/default/mytheme/template/cacatalog/product/edit/options/type/select.html.
关于这种方法的一点是,我记得在一些版本的magento上,与magento捆绑在一起的社区模块(find)(不确定它是否只是与企业版捆绑在一起)实现了这种方法。