atualiza o layout programaticamente no observador do evento magento
Eu estou tentando mudar o template (view.phtml) de um bloco (product.info
) para a página de detalhes do produto, para fazer isso, estou observando um evento (controller_action_layout_generate_blocks_before
), depois de fazer as verificações necessárias, estou tentando alterar o modelo do bloco (product.info
) da seguinte maneira:
$layout = $observer->getEvent()->getLayout();
$layout->getUpdate()->addUpdate('
<reference name="product.info">
<action method="setTemplate">
<template>customlayout/product/view.phtml</template>
</action>
</reference>');
$layout->getUpdate()->load();
$layout->generateXml();
Se eu colocar"<remove name='product.info'/>"
, ele será removido, mas ao tentar fazer o acima, não está funcionando.
Editar:
O requisito é mudar o modelo (detalhes do produto) dinamicamente para o modelo selecionado (no CustomModule) em relação ao produto atual.