Saya telah membangun tema dengan membuat dan mengedit file berikut:
frontend/mypackage/default/layout/local.xml
Saya memiliki tampilan toko "site1", dan ingin membuat pengecualian pada local.xml default "mypackage", jadi saya membuat file ini:
frontend/mypackage/site1/layout/local.xml
Namun, segera setelah saya membuat file ini, Magento melewatkan perubahan local.xml default.
Bagaimana cara saya memberitahu Magento untuk menggunakan local.xml dari default, dan menambahkan perubahan di local1x site1 itu?
layout
magento-1
theme
parent-child-theme
theme-fallback
Gerard Nijboer
sumber
sumber
Jawaban:
Sejak Magento 1.9 Anda dapat menambahkan pembaruan tata letak khusus
etc/theme.xml
seperti ini:Jika Anda menentukan tata letak spesifik tema seperti ini alih-alih menggunakan
local.xml
, mudah untuk menambahkan pembaruan lain di tema anak.Sayangnya, masalah yang sama terjadi pada theme.xml yang hanya digunakan oleh tema aktual Anda, bukan yang dari tema induk. Tapi duplikasi jauh lebih sedikit.
Contoh
theme.xml
untuk tema anak:Sumber dan info lebih lanjut: http://alanstorm.com/magento_infinite_fallback_theme_xml
sumber
Magento tidak menggabungkan perubahan local.xml dari file local.xml lainnya. Cara fallback tema Magento berfungsi adalah bahwa file apa pun yang ditemukan dalam tema / paket saat ini akan lebih disukai dan digunakan di atas file tema / paket lainnya yang bernama sama.
Dengan cara ini Anda tidak bisa membuat override gabungan. Ini akan dimungkinkan di Magento 2, tetapi tidak mungkin di Magento 1.x.
Sayangnya Anda harus menyalinnya ke tema lokal Anda dari default dan membuat modifikasi Anda di sana.
Semoga berhasil.
sumber
Phil benar sekali tetapi secara teoritis ada solusi (tidak terlalu cantik).
Anda dapat membuat modul khusus yang akan memperkenalkan pembaruan tata letak. Kemudian dalam modul Anda dapat memeriksa apakah tampilan toko bukan yang diperlukan dan menghapus pembaruan tata letak ini.
Hal buruk tentang pendekatan ini adalah Anda akan membuat hardcode tampilan toko. Dan secara keseluruhan ini tidak terlihat cantik.
sumber