Trataré 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 original app/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
app/design/frontend/[original-package]/[project-name]
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:
<reference name="the-block-name">
<action method="setTemplate"><name>path/to/new/template.phtml</name></action>
</reference>
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 decir
app/design/frontend/[package]/[theme]/layout
Varios local.xml
archivos en la jerarquía alternativa no se tienen en cuenta. Se utiliza el primero de estos que se puede encontrar:
app/design/frontend/[package]/[theme]/layout/local.xml
app/design/frontend/[package]/default/layout/local.xml
app/design/frontend/base/default/layout/local.xml
(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
En resumen, puede agregar una actualización de diseño en app / design / frontend / yourpackage / etc / theme.xml. La ventaja es que tiene control sobre el orden de carga de sus actualizaciones de diseño. Antes de Magento 1.9, local.xml siempre se cargaba en último lugar, y era imposible que las directivas de diseño se ejecutaran después.
Ya no estoy usando local.xml para modificaciones de tema específicas del proyecto. Creo que local.xml solo se usa por razones de compatibilidad con versiones anteriores (en 1.9 y superiores) ya que no tiene sentido usarlo más. Local.xml también se elimina en Magento 2 ( https://github.com/magento/magento2/issues/1037 ).
Fuente: https://erfanimani.com/dont-use-local-xml/