Magento2 desain fallback logic


15

Kita sudah tahu desain fallback logic dari Magento 1.x:

  1. Paket saat ini / Tema Saat Ini
  2. Paket saat ini / Tema default
  3. Paket Dasar / Tema default

Sekarang. saya ingin tahu Apa itu logika fallback desain di Magento 2.x untuk file tema, tata letak & template?

Tolong jelaskan secara singkat.

Jawaban:


12

Intinya adalah, dibandingkan dengan Magento 1, di mana mekanisme fallback semu diimplementasikan. Magento 2 memiliki mekanisme yang mundur sebanyak tema induk dapat ditemukan . Sistem ini sangat mirip dengan yang diperkenalkan di Magento 1.9 menggunakan theme.xmlfile.

Misalnya, ketika Anda memiliki 5 tema yang saling mewarisi, maka mekanismenya akan kembali ke masing-masing tema. Paket tidak dipertimbangkan lagi.

Berikut adalah kode semu yang dapat menggambarkan mekanisme desain baru:

do
    look in the current theme
    current theme will be parent theme on the next iteration
while the current theme has a parent theme

look in the view folder of the module area if the layout/template is not defined in the previous steps

Sebagai contoh fallback file statis, misalkan ada permintaan untuk logo.svggambar dalam tema Kosong.

Menggunakan warisan tema dan melihat aturan fallback file, Magento menggunakan urutan pencarian berikut:

  1. app/design/frontend/Magento/blank/web/images/logo.svg
  2. app/design/frontend/Magento/blank/web/logo.svg
  3. app/design/frontend/Magento/parent_theme/web/images/logo.svg
  4. app/design/frontend/Magento/parent_theme/web/logo.svg

Referensi: http://devdocs.magento.com/guides/v2.0/architecture/view/static-process.html


share bagus @ Raphel. Bagaimana dengan layout & template?
Amit Bera

@AmitBera Saya telah mengedit jawaban saya karena contoh yang diberikan agak membingungkan pada bagian pertama dari jawaban saya.
Raphael di Digital Pianism

@RaphaelatDigitalPianism Tautan referensi yang diberikan memberi 404, itu juga akan bagus jika Anda dapat memasukkan desain mundur pada modul.
Vivek Kumar

1

Logika fallback tema saat ini:

  1. Current_theme/<Namespace>_<Module>/
  2. parent_theme(s)/<Namespace>_<Module>/
  3. module_dir/view/frontend/
  4. module_dir/view/base/

Pola ini juga digunakan untuk tata letak dan templat.


Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.