Je vais essayer de donner une réponse générale.
Comment changer de modèle
Dans votre thème, vous pouvez remplacer tous les phtml
fichiers du thème par défaut ou du thème parent. Copiez le fichier d'origine dans app/design/frontend/[package]/[theme]/template/[path/to/phtml]
et apportez vos modifications.
Si vous n'avez pas encore de thème personnalisé spécifique au projet, par exemple parce que vous venez d'acheter un thème, assurez-vous d'en créer un sur
app/design/frontend/[original-package]/[project-name]
Il héritera de [original-package]/[default]
, vous n'avez pas besoin de tout copier par défaut, juste les fichiers où vous devez apporter des modifications.
Modifications spécifiques au module
Une alternative à la substitution du phtml
fichier consiste à modifier le chemin du modèle. Cela peut généralement être fait en XML de mise en page comme ceci:
<reference name="the-block-name">
<action method="setTemplate"><name>path/to/new/template.phtml</name></action>
</reference>
Mais cela est destiné à être utilisé par les modules qui ont besoin de changer de modèle, pas pour des changements spécifiques au thème. Le nouveau modèle devrait être base/default
alors.
Comment utiliser local.xml / theme.xml
Le local.xml
fichier doit se trouver dans le répertoire du thème réel que vous utilisez, c'est-à-dire
app/design/frontend/[package]/[theme]/layout
Plusieurs local.xml
fichiers de la hiérarchie de secours ne sont pas pris en compte. Le premier d'entre eux qui peut être trouvé, est utilisé:
app/design/frontend/[package]/[theme]/layout/local.xml
app/design/frontend/[package]/default/layout/local.xml
app/design/frontend/base/default/layout/local.xml
(en supposant une hiérarchie par défaut et aucune hiérarchie définie personnalisée)
Comment apporter des modifications
Vous ne devriez avoir que des modifications dans local.xml, pas répéter les définitions qui sont déjà dans les fichiers XML d'origine. Cela signifie également, évitez de copier des fichiers XML à partir du thème par défaut pour apporter des modifications directement dans les fichiers. Gardez le layout
répertoire de votre thème propre!
Les éléments typiques de local.xml
sont <remove>
de supprimer entièrement les blocs existants <action method="unsetChild">
et <action method="append">
de déplacer un bloc d'un parent à un autre, ou d'appeler toute autre méthode sur des blocs existants pour modifier leur comportement.
Magento 1.9
À partir de Magento 1.9, la meilleure pratique consiste à ne pas utiliser layout/local.xml
ces modifications, maisetc/theme.xml
En bref, vous pouvez ajouter une mise à jour de la mise en page dans app / design / frontend / yourpackage / etc / theme.xml. L'avantage est que vous avez le contrôle sur l'ordre de chargement de vos mises à jour de mise en page. Avant que Magento 1.9 local.xml ne soit toujours chargé en dernier, il était impossible d'exécuter des directives de mise en page après.
Je n'utilise plus local.xml pour les modifications de thème spécifiques au projet. Je pense que local.xml est juste utilisé pour des raisons de compatibilité descendante (en 1.9 et au-dessus) car il n'y a plus aucun intérêt à l'utiliser. Local.xml est également éliminé dans Magento 2 ( https://github.com/magento/magento2/issues/1037 ).
Source: https://erfanimani.com/dont-use-local-xml/