Cara Menyalin Kode / file system.xml Inti ke dalam Kode / lokal di magento

18

saya ingin beberapa penyesuaian di panel admin jadi saya telah membuat perubahan

   1) "app/code/core/../system.xml file its working fine. 

Tetapi saya tidak ingin mengubah kode di dalam folder inti. Karena perubahan versi saya.

Jadi saya ingin memindahkan file itu ke folder lokal saya tetapi tidak berfungsi

 2) "app/code/local/../system.xml" files is not working

Adakah yang bisa memandu saya bagaimana cara mengganti file system.xml?

Terima kasih

Srihari
sumber

Jawaban:

28

Untuk system.xmlfile tidak berfungsi seperti halnya untuk file kelas. The system.xmlfile yang dikumpulkan dari modul aktif Magento. Hanya menyalin satu di localfolder itu tidak berarti itu dalam modul, karena file deklarasi modul masih mengatakan bahwa modul itu milik corecodepool.
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->Frontenddan 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 Modebidang agar hanya tersedia di tingkat global (tidak ada tingkat tampilan situs web dan toko). Jalur pengaturan adalah catalog/frontend/list_mode. Maka system.xmlakan 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 customdi 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.

Marius
sumber
Terima kasih. Saya hanya memiliki sedikit catatan, tag <depends> tidak diperlukan, karena modul lokal selalu dimuat setelah modul inti.
Jiří Chmiel
2
@ JiříChmiel. Ehum ... tidak, mereka tidak. semua file deklarasi modul ( app/etc/modules) dimuat, lalu semua <depends> tag diurai dan hierarki modul dibuat. kemudian modul dimuat dalam urutan itu.
Marius
Terima kasih atas jawabannya. Bagi saya, <depends> di app / etc / modules / Easylife_Catalog.xml adalah apa yang saya lewatkan. Tanpa itu tampaknya mendukung file system.xml inti daripada perubahan dalam file system.xml lokal saya untuk memodifikasi deklarasi.
PromInc