Vou tentar dar uma resposta geral.
Como alterar modelos
No seu tema, você pode substituir qualquer phtml
arquivo do tema padrão ou tema principal. Copie o arquivo original para app/design/frontend/[package]/[theme]/template/[path/to/phtml]
e faça as alterações.
Se você ainda não tem um tema personalizado específico do projeto, por exemplo, porque acabou de comprar um tema, crie um em
app/design/frontend/[original-package]/[project-name]
Herdará de [original-package]/[default]
, você não precisa copiar tudo do padrão, apenas os arquivos nos quais precisa fazer alterações.
Alterações específicas do módulo
Uma alternativa para substituir o phtml
arquivo é alterar o caminho do modelo. Isso geralmente pode ser feito em XML de layout como este:
<reference name="the-block-name">
<action method="setTemplate"><name>path/to/new/template.phtml</name></action>
</reference>
Mas isso deve ser usado por módulos que precisam mudar um modelo, não para alterações específicas do tema. O novo modelo deve estar base/default
então.
Como usar local.xml / theme.xml
O local.xml
arquivo deve estar no diretório do tema real que você está usando, ou seja,
app/design/frontend/[package]/[theme]/layout
Vários local.xml
arquivos na hierarquia de fallback não são levados em consideração. O primeiro destes que pode ser encontrado, é usado:
app/design/frontend/[package]/[theme]/layout/local.xml
app/design/frontend/[package]/default/layout/local.xml
app/design/frontend/base/default/layout/local.xml
(assumindo a hierarquia padrão e nenhuma hierarquia definida personalizada)
Como fazer alterações
Você só deve ter modificações no local.xml, não repetir as definições que já estão nos arquivos XML originais. Isso também significa, evite copiar arquivos XML do tema padrão para fazer alterações diretamente nos arquivos. Mantenha o seu temalayout
diretório limpo!
Os elementos típicos de local.xml
são <remove>
remover completamente os blocos existentes <action method="unsetChild">
e<action method="append">
mover um bloco de um pai para outro ou chamar outros métodos nos blocos existentes para modificar seu comportamento.
Magento 1.9
A partir do Magento 1.9, a melhor prática é realmente não usar layout/local.xml
essas alterações, masetc/theme.xml
Em resumo, você pode adicionar uma atualização de layout em app / design / frontend / yourpackage / etc / theme.xml. A vantagem é que você tem controle sobre a ordem de carregamento de suas atualizações de layout. Antes do Magento 1.9, o local.xml sempre era carregado por último e era impossível executar diretivas de layout depois dele.
Não estou mais usando o local.xml para modificações de temas específicos do projeto. Eu acho que o local.xml é usado apenas por razões de compatibilidade com versões anteriores (em 1.9 e acima), já que não faz sentido usá-lo mais. O Local.xml também é eliminado no Magento 2 ( https://github.com/magento/magento2/issues/1037 ).
Fonte: https://erfanimani.com/dont-use-local-xml/