2012-07-19 10 views
5

he creado un módulo y bloquearcómo llamar getChildHtml de mi módulo en Magento

<block type="mymodule/mymodule" name="my_block" template="mymodule/mymodule.phtml"/>.

en catalog.xml bajo el tema por defecto.

Llamo a este bloque por el método getChildHtml ('my_block') del catálogo/producto/view.phtml del tema predeterminado y muestra texto del archivo mymodule.phtml pero no quiero llamar a ese bloque desde view.phtml arriba view.phtml, ¿Hay alguna manera de llamar al bloque de arriba en cualquier lugar desde mymodule para mostrar texto desde mymodule.phtml?

+0

look para my_block en el archivo xml diseño probable en catalog.xml y tratar de añadir el mismo a su plantilla. ¿Es eso lo que quieres llamar en la plantilla de tu módulo? o quieres llamarlo dentro de tu clase? –

+0

depende de dónde quiera mostrarlo. No creo que list.phtml tenga algunos ganchos de bloqueo debido al rendimiento. Entonces deberías cambiar el archivo de tema. Puede crear su propio tema o agregarlo a 'app/design/frontend/default/default/catalog/product /' – Serjio

+0

Punto y coma temido y Serjio gracias por su respuesta. En realidad, había creado my_block en catalog.xml, que usa el archivo de plantillas phtml de mi módulo, y ese archivo de plantilla aparece en la página de categorías de productos y funciona cuando llamo a getChildhtml ("mi_bloque") desde la página list.phtml. Pero ¿cuál es otra forma de llamar a ese bloque desde mi archivo de módulos? –

Respuesta

0

Si desea llamar a su bloque sin utilizar getChildHtml() necesita colocar su bloque en un bloque de contenido como izquierda, derecha, contenido, etc., y se renderizará automáticamente.

0

Una llamada al método getChildHtml() carga el código HTML para el bloque secundario con el nombre que se pasa al método.

Coloque su bloque en el archivo de diseño en un área de referencia como izquierda, derecha y contenido y llámelo utilizando el nombre asignado.

intento,

<?php echo $this->getChildHtml('my_block') ?> 
Cuestiones relacionadas