Sugiéreme el enfoque correcto, quiero personalizar la página "EMAIL to Friend" en la ventana emergente, cuando el usuario haga clic en el botón (envíe este producto por correo electrónico). Al habilitar la sugerencia de plantilla, descubrí que el botón se representa con
frontend / rwd / default / template / catalog / product / view / sharing.phtml
Y el archivo de diseño correspondiente es catalog.xml
(en frontend / rwd / default / layout)
Así que creé una local.xml
en la misma carpeta donde catalog.xml
existe con el siguiente código (solo lo que he dado en test.phtml
lugar de sharing.phtml
, solo para 'Depurar')
<?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>
Pero no pasa nada, quiero decir cómo puedo cambiar (sobrescribir) el diseño predeterminado del tema, sin modificar existentes xml
y phtml
archivos?
<reference name="content"><block type="core/template" name="test.block" template="catalog/product/view/test.phtml" /></reference>
directamente debajo del nodo<catalog_product_view>
. y mire si el contenido del archivo test.phtml está disponible en la parte inferior de una página de vista del productoTrataré de dar una respuesta general.
Cómo cambiar plantillas
En su tema, puede anular cualquier
phtml
archivo del tema predeterminado o tema principal. Copie el archivo originalapp/design/frontend/[package]/[theme]/template/[path/to/phtml]
y realice sus cambios.Si todavía no tiene un tema personalizado específico del proyecto, por ejemplo, porque acaba de comprar un tema, asegúrese de crear uno en
Heredará de
[original-package]/[default]
, no necesita copiar todo de forma predeterminada, solo los archivos donde necesita hacer cambios.Modificaciones específicas del módulo.
Una alternativa para anular el
phtml
archivo es cambiar la ruta de la plantilla. Esto generalmente se puede hacer en formato XML como este:Pero esto está destinado a ser utilizado por módulos que necesitan cambiar una plantilla, no para cambios específicos del tema. La nueva plantilla debería estar
base/default
entonces.Cómo usar local.xml / theme.xml
El
local.xml
archivo debe estar en el directorio del tema real que está utilizando, es decirVarios
local.xml
archivos en la jerarquía alternativa no se tienen en cuenta. Se utiliza el primero de estos que se puede encontrar:(suponiendo una jerarquía predeterminada y sin una jerarquía definida personalizada)
Cómo hacer cambios
Solo debe tener modificaciones en local.xml, no repetir las definiciones que ya están en los archivos XML originales. Eso también significa que debe evitar copiar archivos XML del tema predeterminado para realizar cambios directamente en los archivos. ¡Mantenga
layout
limpio el directorio de su tema !Los elementos típicos de
local.xml
son<remove>
eliminar completamente los bloques existentes<action method="unsetChild">
y<action method="append">
mover un bloque de un padre a otro, o llamar a cualquier otro método en los bloques existentes para modificar su comportamiento.Magento 1.9
Comenzando con Magento 1.9, la mejor práctica es no utilizar
layout/local.xml
estos cambios, peroetc/theme.xml
Fuente: https://erfanimani.com/dont-use-local-xml/
fuente