Як зберігати шаблони переглядів з модулем замість теми


13

Я створив кілька шаблонів переглядів, які зараз зберігаються в моєму каталозі активних тем. Я вважаю за краще, щоб ці шаблони зберігалися в моєму каталозі модулів.

Моє запитання полягає в тому, як я можу занести ці теми тем (наприклад, view-view-field.tpl.php) в каталог моїх модулів і чи бачити їх перегляди?

Переглядаючи модулі Views, я бачу, що шаблони за замовчуванням зберігаються у представленнях / темах, але я не бачу, як це було реалізовано.

Відповіді:


29

Це також знадобило мені час, щоб розібратися. У вашому .module-файлі має бути розміщений наступний код (код передбачає, що ваш модуль називається "NAME")

/**
* Implements hook_views_api().
*
* Enabling using templates inside module
*/
function NAME_views_api() {
  return array(
    'api' => 3,
    'path' => drupal_get_path('module', 'NAME'),
    'template path' => drupal_get_path('module', 'NAME'),
  );
}

Це дозволить Поглядам переглянути в кореневій директорії вашого модуля. Я особисто прихильник додавання підкаталогу до модуля для зберігання файлів шаблонів. Для цього додайте ім’я каталогу до кінця шляху шаблону, наприклад:

'template path' => drupal_get_path('module', 'NAME') . '/templates',

Додавання їх до підкаталогу - це фантастична ідея, очищує речі, і вона прекрасно працює. Майбутні шукачі обов’язково очистять кеш-пам'ять Drupal. Дякую @Reekan Mantell
Citricguy

Дякую! Я місяцями хакую свою адміністраторську тему лише для того, щоб переоцінити поле зору через сім. Тепер мені не треба.
JM01

І я мушу сказати, що ви все ще можете помістити TPL у свою тему, навіть якщо ви реалізували цей код. Спасибі.
anou

2
Це не працюватиме з модулями функцій, замість цього використовуйте, hook_views_api_alter()як зазначено тут: deeson.co.uk/labs/views-templates-features-module
Обрі Робертсон

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.