Я создаю модуль и хочу перезаписать шаблон app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/edit/options.phtml
.
Это возможно в модуле (не тема)
К сожалению, кажется, что изменить имя модуля с помощью макета XML не так просто, так как это жестко задано в https://github.com/magento/magento2/blob/develop/app/code/Magento/Catalog/Block. /Adminhtml/Product/Edit/Tab/Options.php#L21
Ответы:
Добавьте папку макета вашего файла модуля [Vendor] / [ModuleName] /view/adminhtml/layout/catalog_product_options.xml
Также необходимо добавить в модуль xml эту строку, чтобы загрузить макеты после каталога
источник
admin.product.options
?Vendor_ModuleName::product_options.phtml
?<action method="setTemplate">
вместо<arguments>
. Это решение работает во всех случаях.ПРИМЕЧАНИЕ: это очень важно использовать
<action method="setTemplate">
вместо<arguments>
.<arguments>
будет работать, только если у блока нет другого шаблона, указанного в объявлении xml. В любом другом случае вам необходимо<action method="setTemplate">
переопределить существующий шаблон. Лучше использовать,<action method="setTemplate">
потому что это всегда работает.источник
Да, вы можете перезаписать файлы шаблона из приложения / кода вашего пользовательского модуля. Однако имейте в виду, что в концепции наследования Magento файлы (шаблоны, макеты, статические файлы) из приложения / дизайна перезаписывают то же самое в приложении / коде. Так же, как дочерняя тема перезаписывает родительскую тему.
Итак, я считаю, что лучше всего создать собственную тему для вашего пользовательского модуля и добавить все ваши файлы phtml, xml, css, js, font и image туда в app / design.
источник