OpenCart: ¿cómo mostrar manualmente un módulo dentro de un archivo de plantilla?
Pregunta
Digamos que quiero mostrar el módulo especial en la página de inicio en una posición diferente a $ content_top, $ content_bottom, $ column_left o $ column_right. ¿Cómo puedo hacer eso? Si tienes algo de experiencia con esto, ¿podrías darme algunos consejos?
El módulo se mostrará en home.tpl, pero supongo que necesitaría editar el archivo del controlador home.php
Solución
Para hacer esto, deberá hacer ediciones a dos archivos
En primer lugar, deberá editar el controlador. En este ejemplo, voy a agregar los especiales a la página de inicio
Así que abra el archivo del controlador catalog/controller/common/home.php
. En algún lugar antes de esta línea $this->response->setOutput($this->render());
Agregue lo siguiente
$this->data['special_block'] = $module = $this->getChild('module/special', array(
'limit' => 5,
'image_width' => 80,
'image_height' => 80
));
La matriz es la configuración del módulo. Tenga en cuenta que el diseño, la posición, el estado y el orden de clasificación no están incluidos, ya que son irrelevantes aquí. También he usado special_block
Como clave única para el contenido, para evitarlo en conflicto con cualquier otro elemento que necesite representar
Luego, en su archivo de plantilla, solo necesita usar <?php echo $special_block; ?>
donde quiera que vaya el módulo