2011-05-27 216 views
8

我有一個添加新內容類型的模塊。Drupal 6 - 模塊中的自定義節點類型模板

對於此內容類型我想提供一個node_contenttype.tpl.php節點類型模板, 但Drupal無法在模塊目錄中識別此模板,只能在主題中識別。

如何獲得Drupal(6)使用我的模板?

回答

10

您可以使用hook_theme_registry_alter()

下面是它爲我的作品自定義模塊中使用的實例(只需用模塊的名稱替換「MyModule的」):

/** 
* 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); 
} 

現在, Drupal將檢查您的模塊文件夾中的節點模板覆蓋。

+0

適合我。 – theduke 2011-07-27 13:56:36

相關問題