Magento2 디자인 폴백 로직


15

우리는 이미 Magento 1.x의 디자인 폴백 로직을 알고 있습니다.

  1. 현재 패키지 / 현재 테마
  2. 현재 패키지 / 기본 테마
  3. 기본 패키지 / 기본 테마

지금. 테마, 레이아웃 및 템플릿 파일에 대한 Magento 2.x의 디자인 대체 논리는 무엇입니까?

간단히 설명하십시오.

답변:


12

의사 폴백 메커니즘이 구현 된 마 젠토 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.svg공백 테마에 이미지 요청이 있다고 가정하십시오 .

테마 상속 및 파일 대체 규칙보기를 사용하여 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


멋진 공유 @Raphel. 레이아웃 및 템플릿은 어떻습니까?
Amit Bera

@AmitBera 제공된 예제가 내 대답의 첫 부분에서 혼란 스러우므로 내 대답을 편집했습니다.
Digital Pianism의 Raphael

@RaphaelatDigitalPianism 제공된 참조 링크는 404를 제공합니다. 모듈에 디자인 폴백을 포함시킬 수 있다면 좋을 것입니다.
Vivek Kumar

1

테마의 현재 대체 논리 :

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

이 패턴은 레이아웃 및 템플릿에도 사용되었습니다.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.