2011-05-27 10 views
8

Tengo un módulo que agrega un nuevo tipo de contenido.Drupal 6 - Plantilla de tipo de nodo personalizado en el módulo

Para este tipo de contenido, deseo proporcionar una plantilla de tipo de nodo node_contenttype.tpl.php, pero Drupal no reconocerá esta plantilla en el directorio del módulo, solo en un tema.

¿Cómo obtengo Drupal (6) para usar mi plantilla?

Respuesta

10

Puede utilizar hook_theme_registry_alter()

Aquí es un ejemplo de su uso en un módulo personalizado que funciona para mí (Basta con sustituir 'mimodulo' con el nombre de su módulo):

/** 
* Implementation of hook_theme_registry_alter() 
*/ 
function mymodule_theme_registry_alter(&$theme_registry) { 
    $template = 'node'; 
    $originalpath = array_shift($theme_registry[$template]['theme paths']); 
    $modulepath = drupal_get_path('module', 'mymodule'); 
    // Stick the original path with the module path back on top 
    array_unshift($theme_registry[$template]['theme paths'], $originalpath, $modulepath); 
} 

Ahora, Drupal verificará la carpeta de su módulo para anulaciones de plantilla de nodo.

+0

Funciona perfectamente para mí. – theduke

Cuestiones relacionadas