回答:
system.xml
ファイルについては、クラスファイルの場合のようには機能しません。system.xml
ファイルは、Magentoののアクティブモジュールから収集されます。local
モジュール宣言ファイルは、モジュールがcore
コードプールに属していることを示しているため、フォルダー内の1つをコピーするだけでは、モジュール内にあることを意味しません。
セクションに新しいフィールドを追加する場合、またはフィールドの一部をオーバーライドする場合は、独自のモジュールを作成する必要があります。
セクションに新しいフィールドを追加するCatalog->Frontend
方法と、同じセクションのフィールドを上書きする方法の例を次に示します。
あなたのモジュールが呼ばれてEasylife_Catalog
いるとしましょう。
次のファイルが必要です
app/etc/modules/Easylife_Catalog.xml
。-宣言ファイル
<?xml version="1.0"?>
<config>
<modules>
<Easylife_Catalog>
<active>true</active>
<codePool>local</codePool>
<depends>
<Mage_Catalog />
</depends>
</Easylife_Catalog>
</modules>
</config>
app/code/local/Easylife/Catalog/etc/config.xml
-構成ファイル
<?xml version="1.0"?>
<config>
<modules>
<Easylife_Catalog>
<version>0.0.1</version>
</Easylife_Catalog>
</modules>
</config>
app/etc/local/Easylife/Catalog/etc/system.xml
-system-> configuration file フィールドをグローバルレベルでのみ使用可能
に変更したいとしますList Mode
(Webサイトとストアビューレベルはありません)。設定パスはcatalog/frontend/list_mode
です。次に、system.xml
このようになります:
<?xml version="1.0"?>
<config>
<sections>
<catalog><!-- first part of the path -->
<groups>
<frontend><!-- second part of the path -->
<fields>
<list_mode><!-- third part of the path -->
<show_in_website>0</show_in_website><!-- this will override the core value -->
<show_in_store>0</show_in_store><!-- this will override the core value -->
</list_mode>
</fields>
</frontend>
</groups>
</catalog>
</sections>
</config>
ここcustom
で、同じconfigセクションで呼び出される新しいフィールドを追加するとします。上のxmlは次のようになります
<?xml version="1.0"?>
<config>
<sections>
<catalog><!-- first part of the path -->
<groups>
<frontend><!-- second part of the path -->
<fields>
<list_mode><!-- third part of the path -->
<show_in_website>0</show_in_website><!-- this will override the core value -->
<show_in_store>0</show_in_store><!-- this will override the core value -->
</list_mode>
<custom translate="label"><!-- your new field -->
<label>Custom</label>
<frontend_type>text</frontend_type>
<sort_order>1000</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>1</show_in_store>
</custom>
</fields>
</frontend>
</groups>
</catalog>
</sections>
</config>
この方法を使用して構成からフィールドを削除する方法があるかどうかはわかりません。探しましたが、何も見つかりませんでした。
app/etc/modules
)がロードされ、すべての<depends>
タグが解析されてモジュールの階層が確立されます。その後、モジュールはその順序でロードされます。