Je crée un module et je veux écraser le modèle app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/edit/options.phtml
.
Est-ce possible dans un module (pas un thème)
Malheureusement, il ne semble pas très facile de changer le nom du module via XML de mise en page, car il est codé en dur dans https://github.com/magento/magento2/blob/develop/app/code/Magento/Catalog/Block /Adminhtml/Product/Edit/Tab/Options.php#L21
Réponses:
Ajoutez le dossier de présentation de votre fichier de module [Fournisseur] / [ModuleName] /view/adminhtml/layout/catalog_product_options.xml
Vous devez également ajouter au module xml cette ligne, pour charger vos mises en page après le catalogue
la source
admin.product.options
?Vendor_ModuleName::product_options.phtml
?<action method="setTemplate">
au lieu de<arguments>
. Cette solution fonctionne dans tous les cas.REMARQUE: il est très important d'utiliser à la
<action method="setTemplate">
place de<arguments>
.<arguments>
ne fonctionnera que si le bloc n'a pas d'autre modèle spécifié dans la déclaration xml. Dans tous les autres cas, vous devez<action method="setTemplate">
remplacer le modèle existant. Il est préférable de l'utiliser<action method="setTemplate">
car il fonctionne toujours.la source
Oui, vous pouvez remplacer les fichiers modèles de l'application / du code de votre module personnalisé. Cependant, gardez à l'esprit que dans le concept d'héritage de Magento, les fichiers (modèles, mises en page, fichiers statiques) de l'application / conception les remplacent dans l'application / le code. Tout comme le thème enfant remplace le thème parent.
Donc, je considère qu'il est préférable de créer un thème personnalisé pour votre module personnalisé et d'y ajouter tous vos fichiers phtml, xml, css, js, police et image dans app / design.
la source