Untuk system.xml
file tidak berfungsi seperti halnya untuk file kelas. The system.xml
file yang dikumpulkan dari modul aktif Magento. Hanya menyalin satu di local
folder itu tidak berarti itu dalam modul, karena file deklarasi modul masih mengatakan bahwa modul itu milik core
codepool.
Jika Anda ingin menambahkan bidang baru ke bagian atau menimpa beberapa bidang yang Anda butuhkan untuk membuat modul Anda sendiri.
Berikut ini adalah contoh bagaimana Anda bisa menambahkan bidang baru di bagian Catalog->Frontend
dan bagaimana Anda bisa menimpa satu di bagian yang sama.
Katakanlah modul Anda dipanggil Easylife_Catalog
.
Anda akan membutuhkan file-file berikut:
app/etc/modules/Easylife_Catalog.xml
- file deklarasi
<?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
- file konfigurasi
<?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
- sistem-> file konfigurasi
Katakanlah Anda ingin mengubah List Mode
bidang agar hanya tersedia di tingkat global (tidak ada tingkat tampilan situs web dan toko). Jalur pengaturan adalah catalog/frontend/list_mode
. Maka system.xml
akan terlihat seperti ini:
<?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>
Sekarang katakanlah Anda ingin menambahkan bidang baru yang disebut custom
di bagian konfigurasi yang sama. Sekarang xml di atas menjadi
<?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>
Saya tidak tahu apakah ada metode untuk menghapus beberapa bidang dari konfigurasi menggunakan metode ini. Saya mencarinya tetapi tidak menemukan apa pun.