Estoy creando un módulo y quiero sobrescribir la plantilla app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/edit/options.phtml
.
¿Es esto posible en un módulo (no un tema)
Desafortunadamente, no parece muy fácil cambiar el nombre del módulo a través del diseño XML, ya que está configurado de forma rígida en https://github.com/magento/magento2/blob/develop/app/code/Magento/Catalog/Block /Adminhtml/Product/Edit/Tab/Options.php#L21
Respuestas:
Agregue la carpeta de diseño de su archivo de módulo [Proveedor] / [ModuleName] /view/adminhtml/layout/catalog_product_options.xml
También es necesario agregar al módulo xml esta línea, para cargar sus diseños después del catálogo
fuente
admin.product.options
?Vendor_ModuleName::product_options.phtml
?<action method="setTemplate">
lugar de<arguments>
. Esta solución funciona en todos los casos.NOTA: es muy importante usarlo en
<action method="setTemplate">
lugar de<arguments>
.<arguments>
solo funcionará si el bloque no tiene otra plantilla especificada en la declaración xml. En cualquier otro caso, debe<action method="setTemplate">
anular la plantilla existente. Es mejor usarlo<action method="setTemplate">
porque siempre funciona.fuente
Sí, puede sobrescribir archivos de plantilla de la aplicación / código de su módulo personalizado. Sin embargo, tenga en cuenta que en el concepto de herencia de Magento, los archivos (plantillas, diseños, archivos estáticos) de la aplicación / diseño se sobrescriben en la aplicación / código. Así como el tema hijo sobrescribe el tema padre.
Por lo tanto, considero que es mejor crear un tema personalizado para su módulo personalizado y agregar todos sus archivos phtml, xml, css, js, font e image en la aplicación / diseño.
fuente