Pregunta

¿Alguien tiene alguna idea sobre cómo podría incrustar una región en un archivo ver .tpl.php?

Lo logro con bastante facilidad en un nodo .tpl.php agregando algo como esto a theme_preproces_node():

$vars['promos'] = theme('blocks', 'promos');

No hay problema. Sin embargo, obviamente no hay un theme_preprocess_view() función, y recibo errores de memoria cuando intento agregar el mismo fragmento a theme_preprocess().

Error fatal: tamaño de memoria permitido de 104857600 bytes agotados (intenté asignar 523800 bytes) en /users/cpharmston/sites/projects/threespot/neh01/includes/database.mysqli.inc en línea 42

Estoy perplejo. ¿Algunas ideas?

¡Gracias!

¿Fue útil?

Solución

Manera 'rápida y sucia': Podrías simplemente poner el theme('blocks', [region_name]) Llame directamente al archivo de vistas .tpl.php.

Si bien las funciones de preprocesos apuntan a una mejor separación de la lógica de la lógica 'comercial' versus 'mostrar', no se requieren de ninguna manera, por lo que aún puede poner el código personalizado en un archivo .tpl.php de cualquier forma que desee.

'Forma apropiada: Ahí son Preprocesos Funciones para vistas, poco más de una. Eche un vistazo al archivo thema.InC del módulo Views. Allí encontrará diferentes funciones de preprocesos para las diferentes plantillas posiblemente utilizadas por una vista (por ejemplo, 'sin formato' vs. 'Tabla' vs. 'Lista', etc.). Solo necesita encontrar el relevante para la plantilla de vista que desea inyectar la nueva variable.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top