Особенности Drupal включают тему - PullRequest
7 голосов
/ 11 июня 2010

Возможно ли включить тему в Drupal Feature?если да как?

Ответы [ 2 ]

5 голосов
/ 12 июня 2010

Не в данный момент, к сожалению. Функциональные возможности в основном состоят из вещей, которые можно без труда экспортировать и импортировать в Drupal с помощью различных обработчиков событий. Темы - совершенно другое животное.

Теоретически, если вы хотите переопределить некоторую разметку в своей функции (например, в пользовательских файлах tpl.php для вашего собственного типа контента), вы можете включить пользовательский файл tpl.php и использовать связанные с темой хуки в файле модуля компонента сообщить Drupal, что шаблоны находятся в каталоге вашего модуля.

1 голос
/ 15 июня 2010

В дополнение к ответу Итона. Если вам нужно переопределить существующий шаблон (файл .tpl.php), предоставленный другим модулем, вы можете использовать hook_theme_registry_alter в YOUR_FEATURE.module:

function YOUR_FEATURE_registry_alter($theme_registry) {
  $originalpath = array_shift($theme_registry['TEMPLATE']['theme paths']);
  $featurepath = drupal_get_path('module', 'YOUR_FEATURE') .'/themes');
  array_unshift($theme_registry['TEMPLATE']['theme paths'], $originalpath, $featurepath);
}

Чтобы это работало, ваша функция должна иметь вес больше, чем у модуля, предоставляющего переопределенный шаблон. Так что в YOUR_FEATURE.install у вас будет что-то вроде

function YOUR_FEATURE_install() {
   db_query("UPDATE {system} SET weight = 10 WHERE name = 'YOUR_FEATURE'");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...