Quiero cambiar la referencia a un archivo phtml por otro

Max

Nuevo usuario
Hola

Tengo un archivo, onepage.phtl que quiero cambiar. Actualmente está en mitema/template/onepage.phtml, bien lo que quiero hacer es que coja otro archivo onepage.phtml, que voy a situar en default/template/mimodulo/onepage.phtml.

He creado un módulo en local, la estructura es:

Namespace/modulo, dentro he creado las carpetas correspondientes y en el config.xml tengo puesto esto.

Insertar CODE, HTML o PHP:
<config>
<frontend>
		<layout>
		   <updates>
		        <mimodulo>
		             <file>mimodulo.xml</file>
		         </mimodulo.xml>
		    </updates>
		</layout>
</frontend>
</config>

y el archivo mimodulo.xml lo he puesto aquí app/desing/frontend/default/default/mimodulo/mimodulo.xml

Pues bien, ¿Qué tengo que poner dentro de este archivo para que me coja el archivo onepage.html que he puesto antes y no el otro, que está dentro del template que tengo activado por defecto, uno que he instalado.

Dentro del template, en el archivo checkout.xml se hace referencia al citado archivo de esta manera:

Insertar CODE, HTML o PHP:
<reference name="content">
            <block type="checkout/onepage" name="checkout.onepage" template="checkout/onepage.phtml">
	......
		</block>
<reference>

Obviamente, no quiero tocar estos archivos a mano y quiero hacerlo a través del módulo que he creado. Pero algo no está saliendo.

Saludos
 

OSdave

Super Moderador
Miembro del equipo
podrias usar el event "core_block_abstract_to_html_before" para cambiar el archivo phtml.
Algo así, en tu Observer.php:
PHP:
    public function setOnepageTemplate($observer)    {
        $block = $observer->getEvent()->getBlock();
        $class = get_class($block);
        if ($class == 'Mage_Checkout_Block_Onepage') {
            $template = $block->getTemplate();
            $block->setTemplate('mimodulo/onepage.phtml');
        }
    }
 
Upvote 0
Arriba