Aktualisieren Sie das Layout programmgesteuert in magento event observer

Ich versuche die Vorlage (view.phtml) eines Blocks zu ändern (product.info) Um die Produktdetailseite aufzurufen, beobachte ich ein Ereignis (controller_action_layout_generate_blocks_before), darin versuche ich nach notwendigen Überprüfungen die Vorlage des Blocks zu ändern (product.info) auf folgende Weise:

$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();

Wenn ich sage"<remove name='product.info'/>" Es wird entfernt, aber wenn Sie versuchen, das oben genannte zu tun, funktioniert es nicht.
Bearbeiten:
Voraussetzung ist, dass die Vorlage (Produktdetails) dynamisch auf die ausgewählte Vorlage (in CustomModule) gegenüber dem aktuellen Produkt umgestellt wird.

Antworten auf die Frage(5)

Ihre Antwort auf die Frage