Veuillez me suggérer la bonne approche, je souhaite personnaliser la page "EMAIL to Friend" dans une fenêtre pop-up, lorsque l'utilisateur clique sur le bouton (envoyer ce produit par e-mail). En activant l'indicateur de modèle, j'ai découvert que le bouton est rendu avec
frontend / rwd / default / template / catalogue / product / view / sharing.phtml
Et le fichier de mise en page correspondant est catalog.xml
(dans frontend / rwd / default / layout)
J'ai donc créé un local.xml
dans le même dossier où catalog.xml
existent avec le code suivant (juste que j'ai donné à la test.phtml
place de sharing.phtml
, juste pour 'Debug')
<?xml version="1.0"?>
<layout version="0.1.0">
<default>
<catalog-product-view>
<reference name="content">
<block type="catalog/product_view" name="product.info" template="catalog/product/view.phtml">
<block type="catalog/product_view" name="product.info.sharing" as="sharing" template="catalog/product/view/test.phtml"/>
</block>
</reference>
</catalog-product-view>
</default>
</layout>
Mais rien ne se passe, je veux dire comment je peux changer (Ecraser) la conception par défaut du thème, sans modifier existants xml
et les phtml
fichiers?
<reference name="content"><block type="core/template" name="test.block" template="catalog/product/view/test.phtml" /></reference>
directement sous le nœud<catalog_product_view>
. et vérifiez si le contenu du fichier test.phtml est disponible dans la partie inférieure de la page d'affichage du produitJe 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 dansapp/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
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: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-à-direPlusieurs
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é:(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
Source: https://erfanimani.com/dont-use-local-xml/
la source