Magento2デザインフォールバックロジック


15

Magento 1.xの設計フォールバックロジックはすでに知っています。

  1. 現在のパッケージ/現在のテーマ
  2. 現在のパッケージ/デフォルトのテーマ
  3. 基本パッケージ/デフォルトテーマ

今。テーマ、レイアウト、テンプレートファイルのMagento 2.xの設計フォールバックロジックとは何ですか?

簡単に説明してください。

回答:


12

ポイントは、Magento 1と比較して、擬似フォールバックメカニズムが実装されていることです。Magento 2には、親テーマが見つかるたびにフォールバックするメカニズムがあります。システムは、theme.xmlファイルを使用してMagento 1.9で導入されたシステムと非常によく似ています。

たとえば、5つのテーマが相互に継承している場合、メカニズムはそれぞれのテーマにフォールバックします。パッケージはもう考慮されません。

新しい設計メカニズムを説明できる擬似コードは次のとおりです。

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

静的ファイルのフォールバックの例として、logo.svgBlankテーマの画像に対するリクエストがあるとします。

テーマの継承とビューファイルのフォールバックルールを使用して、Magentoは次の検索順序を使用します。

  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

リファレンス:http : //devdocs.magento.com/guides/v2.0/architecture/view/static-process.html


nice share @Raphel。レイアウトとテンプレートはどうですか?
アミットベラ

@AmitBera回答の最初の部分では、提供されている例がやや混乱しているため、回答を編集しました。
デジタルピアニズムのラファエル

@RaphaelatDigitalPianism提供されている参照リンクは404を提供します。また、モジュールに設計フォールバックを含めることができれば素晴らしいでしょう。
ビベッククマール

1

テーマの現在のフォールバックロジック:

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

このパターンは、レイアウトとテンプレートにも使用されています。


0

Magento 2のフォールバックロジックは、Magento 1とはまったく異なり、テーマ継承機能に関連付けられています。

文書によると:

フォールバックの順序は、静的アセット(CSS、JavaScript、フォント、画像)とその他のテーマファイル、レイアウト、テンプレートでわずかに異なります。

このリンクからドキュメントの詳細を確認できますhttps : //devdocs.magento.com/guides/v2.3/frontend-dev-guide/themes/theme-inherit.html

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.