Saya akan mencoba memberikan jawaban umum.
Cara mengganti template
Dalam tema Anda, Anda dapat mengganti phtml
file apa pun dari tema default atau tema induk. Salin file asli ke app/design/frontend/[package]/[theme]/template/[path/to/phtml]
dan buat perubahan Anda.
Jika Anda belum memiliki tema khusus untuk proyek tertentu, misalnya karena Anda baru saja membeli tema, pastikan untuk membuatnya
app/design/frontend/[original-package]/[project-name]
Ini akan mewarisi dari [original-package]/[default]
, Anda tidak perlu menyalin semuanya dari default, hanya file di mana Anda perlu melakukan perubahan.
Perubahan spesifik modul
Alternatif untuk mengganti phtml
file, adalah mengubah jalur templat. Ini biasanya dapat dilakukan dalam tata letak XML seperti ini:
<reference name="the-block-name">
<action method="setTemplate"><name>path/to/new/template.phtml</name></action>
</reference>
Tetapi ini dimaksudkan untuk digunakan oleh modul yang perlu mengganti templat, bukan untuk perubahan spesifik tema. Templat baru harus di base/default
kemudian.
Cara menggunakan local.xml / theme.xml
The local.xml
file harus di direktori tema aktual yang Anda gunakan, yaitu
app/design/frontend/[package]/[theme]/layout
Beberapa local.xml
file dalam hierarki fallback tidak diperhitungkan. Yang pertama dari ini dapat ditemukan, digunakan:
app/design/frontend/[package]/[theme]/layout/local.xml
app/design/frontend/[package]/default/layout/local.xml
app/design/frontend/base/default/layout/local.xml
(dengan asumsi hierarki default dan tidak ada hierarki yang ditentukan khusus)
Cara melakukan perubahan
Anda hanya boleh memiliki modifikasi di local.xml, jangan ulangi definisi yang sudah ada dalam file XML asli. Itu juga berarti, hindari menyalin file XML dari tema default untuk membuat perubahan langsung di file. Jaga layout
direktori tema Anda tetap bersih!
Elemen khas dari local.xml
adalah <remove>
untuk menghapus blok yang ada seluruhnya, <action method="unsetChild">
dan <action method="append">
untuk memindahkan blok dari satu induk ke induk lainnya, atau memanggil metode lain pada blok yang ada untuk memodifikasi perilaku mereka.
Magento 1.9
Dimulai dengan Magento 1.9, praktik terbaik sebenarnya adalah tidak menggunakan layout/local.xml
untuk perubahan ini, tetapietc/theme.xml
Singkatnya, Anda dapat menambahkan pembaruan tata letak di app / design / frontend / yourpackage / etc / theme.xml. Keuntungannya adalah Anda memiliki kendali atas urutan pemuatan pembaruan tata letak Anda. Sebelum Magento 1.9 local.xml selalu dimuat terakhir, dan direktif tata letak tidak mungkin dijalankan setelahnya.
Saya tidak menggunakan local.xml lagi untuk modifikasi tema spesifik proyek. Saya pikir local.xml hanya digunakan untuk alasan kompatibilitas ke belakang (pada 1.9 dan di atas) karena tidak ada gunanya menggunakannya lagi. Local.xml juga dihilangkan di Magento 2 ( https://github.com/magento/magento2/issues/1037 ).
Sumber: https://erfanimani.com/dont-use-local-xml/