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にバンドルされているコミュニティモジュール(検索)がこのアプローチを実装したことを思い出します(エンタープライズエディションだけかどうかはわかりません)。

于 2012-08-01T06:11:46.710 に答える