Как вы назвали функцию в template.php, чтобы ее подхватили вызовы theme () в page.tpl.php?

У меня есть сайт на Drupal 6 с простой темой, которую я создаю, под названием NPT. В page.tpl у меня есть это:

<?php print theme('links', $primary_links, array('class' => 'links primary-links')) ?>

Это успешно вызывает эту функцию в template.php:

npt_links()

Однако у меня также есть это в page.tpl.php:

<?php print theme('clinks', $secondary_links, array('class' => 'secondary-links')) ?>

И этот не вызывает эту функцию в template.php:

npt_clinks()

Но это должно быть, поскольку я вызываю параметр перехвата "clinks" в вызове theme ().

Есть идеи, почему этот хук не вызывается?


person Justin    schedule 19.10.2009    source источник


Ответы (1)


Объявили ли вы функцию темы clinks в реестре тем?

person ceejayoz    schedule 19.10.2009
comment
+1 - Поскольку название правильное, а «звяканье» звучит как добавление по индивидуальному заказу, это наиболее вероятная причина. - person Henrik Opel; 19.10.2009
comment
Вы можете уточнить? Из этой ссылки: движок PHPTemplate заботится о регистрации от имени темы, поэтому в большинстве ситуаций вам не придется регистрироваться вручную. - person Justin; 19.10.2009
comment
PHPTemplate регистрирует все стандартные, такие как links, list_item и т. Д. Вы создали собственный, clinks, и поэтому PHPTemplate и Drupal понятия не имеют о его существовании. - person ceejayoz; 19.10.2009