Creé un módulo que debería poder mostrar el contenido de un determinado tipo de contenido. La visualización es un poco compleja y para poder apagarla y agrupar todo, creé un módulo para esto.
Pero al final solo debería anular el nodo normal.tpl.php con un archivo .tpl.php personalizado. Cuando coloco el archivo en la carpeta de mi plantilla, se recoge y las páginas se muestran como se esperaba, pero no puedo hacer que funcione cuando el archivo está en la carpeta del módulo.
Leí muchas cosas sobre registrar el archivo .tpl y el preproceso, pero nada que combine las piezas que necesito.
Esto es lo que tengo hasta ahora
function apps_theme($existing, $type, $theme, $path) {
$items = array(
'node--app' => array(
'template' => drupal_get_path('module', 'app') . '/node--app',
'variables' => array('node' => (object)array())
)
);
return $items;
}
function apps_preprocess_node(&$vars) {
$variables['theme_hook_suggestions'][] = 'node__app';
}
Respuestas:
No está claro en su pregunta si está colocando su plantilla en
sites/all/custom/modules
o dentrosites/all/custom/modules/the_name_of_mymodule
. Tiene que ser el posterior.Sin embargo, si usted:
admin/appearance
ruta para forzar una actualización del registro de temas.... pero aún sin dados, siempre puede especificar en su implementación hook_theme () la
theme_path
clave:fuente
node--app
. Sería un nombre mejornode_app
, y llamaría a la función de tema haciendotheme('node_app', [$vars]);
No estoy seguro de quetheme('node--app')
sea algo que haya visto alguna vez, y estoy casi seguro de que no funcionaría.'node__app'
(subrayado doble) no'node_app'
Pensé que publicaría la solución que encontré:
fuente
Lo hice funcionar siguiendo esto:
http://www.metachunk.com/blog/adding-module-path-drupal-7-theme-registry
fuente