Magento 2: Как мне переопределить основной шаблон, используя пользовательский модуль для одного магазина? - PullRequest
0 голосов
/ 02 мая 2018

Я хочу настроить файл шаблона /checkout/success (success.phtml). У меня есть встроенный модуль, который переопределяет основной блок vendor/magento/module-checkout/Block/Checkout/Onepage/Success и добавляет данные в prepareData(). Если я добавлю файл шаблона в свой модуль (Vendor\Module\view\frontend\templates\success.phtml), все будет отлично: нет проблем с загрузкой и рендерингом дополнительных данных в phtml.

Проблема в том, что я хочу установить переопределение только для одного хранилища - поэтому обычно я помещаю новый шаблон в app/design/frontend/[theme]/[themename]/Magento_Checkout/templates/success.phtml - и ожидаю, что это превзойдет базовую версию, но это не так. работает, если у меня уже есть модуль, переопределяющий этот шаблон.

Как настроить шаблон уровня темы / магазина с помощью пользовательского модуля Block и разрешить другим магазинам использовать основной шаблон?

1 Ответ

0 голосов
/ 03 мая 2018

Понял: в структуре каталогов темы вам нужно указать расширенное имя модуля, а не имя основного модуля. Вам все еще нужно иметь файл шаблона в модуле с расширением блока (что выглядит неуклюже - почему бы просто не использовать ядро ​​по умолчанию?), Поэтому я скопировал шаблон ядра в модуль, а затем смог указать шаблон уровня темы как app/design/frontend/[themeparent]/[themename]/Vendor_Module/template/success.phtml, а не app/design/frontend/[themeparent]/[themename]/Magento_Checkout/templates/success.phtml.

Все темы используют шаблон расширенных модулей (копия ядра), а конкретная тема использует собственный шаблон.

...