Sugira-me a abordagem correta. Quero personalizar a página "EMAIL to Friend" na janela pop-up, quando o usuário clicar no botão (enviar este produto por e-mail). Ao ativar a dica de modelo, descobri que o botão é renderizado com
frontend / rwd / default / template / catalog / product / view / sharing.phtml
E o arquivo de layout correspondente é catalog.xml
(em frontend / rwd / default / layout)
Então eu criei um local.xml
na mesma pasta onde catalog.xml
existem com o seguinte código (apenas que eu dei em test.phtml
vez de sharing.phtml
, apenas para '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>
Mas nada acontece, quero dizer como posso alterar (substituir) o design padrão do tema, sem modificar os arquivos xml
e os existentes phtml
?
<reference name="content"><block type="core/template" name="test.block" template="catalog/product/view/test.phtml" /></reference>
diretamente no nó<catalog_product_view>
. e olhar se o conteúdo do arquivo test.phtml está disponível na parte inferior de uma página de visualização do produtoVou 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 paraapp/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
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: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,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:(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 tema
layout
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
Fonte: https://erfanimani.com/dont-use-local-xml/
fonte