Drupal 6 - Пользовательский шаблон типа узла в модуле - PullRequest
8 голосов
/ 27 мая 2011

У меня есть модуль, который добавляет новый тип контента.

Для этого типа контента я хочу предоставить шаблон типа узла node_contenttype.tpl.php, но Drupal не распознает этот шаблон в каталоге модулей, только в теме.

Как мне заставить Drupal (6) использовать мой шаблон?

1 Ответ

10 голосов
/ 27 мая 2011

Вы можете использовать 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 проверит папку вашего модуля на предмет переопределений шаблонов узлов.

...