0

我想覆盖

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>

但这并没有替换文件。关于我应该尝试什么的任何想法?

4

1 回答 1

1

我能想到的选项:

将核心模板复制到:app/design/adminhtml/default/default/template/catalog/ my_namespace /product/edit/options/type/select.phtml

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/catalog/product/edit/options/type/ select.phtml。

关于这种方法的一个说明是,我记得在某些版本的 magento 上,与 magento 捆绑在一起的社区模块(find)(不确定它是否只是与企业版一起使用)实现了这种方法。

于 2012-08-01T06:11:46.710 回答