Выполнение хука hook_theme в template.php

Главные вкладки

Аватар пользователя roman-yrv roman-yrv 15 марта 2013 в 19:24

Решил поразбираться с особенностями темизации путем регистрации выполнения hook_theme (или template_theme) в файле template.php

Это для того, чтобы при создании темы зарегистировать свои шаблоны и вызывать их вместо прямого включения html-кода в функции.

Для экспериментирования я выбрал тему bartik, с ней и работаю.

Так вот, в файле template.php добавил следующий код - регистрирую шаблон

function bartik_theme($existing, $type, $theme, $path)
{
  return array(
    'themetest' => array(
      'variables' => array('arg1' => NULL),
      'template' => 'test',
    ),
  );
}

Далее, в поддиректорию templates (туда, где хранятся файлы *.tpl.php)? добавил файл test.tpl.php со следующим содержимым

<div id="div1">
  Выводимое значение: <?php print $arg1; ?>
</div>  

Ну и в node.tpl.php пытаюсь вызвать этот шаблон

print theme('themetest', array('arg1' => 'Значение 1'));

Этот шаблон не отображается, зато выдаются следующие ошибки (см. рис.)

Подскажите пожалуйста, что я делаю не так и как сделать, чтобы можно было работать с такими вот шаблонами при темизации, кроме как через include() или require() ?

ВложениеРазмер
Иконка изображения template-theme.png16.27 КБ

Комментарии