Сегодня 5 июня, среда ГлавнаяНовостиО проектеЛичный кабинетПомощьКонтакты Сделать стартовойКарта сайтаНаписать администрации
Поиск по сайту
 
Ваше мнение
Какой рейтинг вас больше интересует?
 
 
 
 
 
Проголосовало: 7274
Кнопка
BlogRider.ru - Каталог блогов Рунета
получить код
Сайт Ильи Азарова.
Сайт Ильи Азарова.
Голосов: 2
Адрес блога: http://brainstorm.name
Добавлен: 2008-03-13 01:05:02
 

Задача обхода hook_theme в Drupal 6/7

2011-09-07 19:05:00 (читать в оригинале)

Программирование
Drupal 6

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

В такой ситуации вызов theme('customfunc')  где customfunc нужная нам функция, просто работать не будет. Однако, все же есть способ поправить регистр тем друпала налету, прописав нашу функцию там. Вот таким образом(сама функция дана для примера):
 
 
       init_theme();
       $reg = theme_get_registry();
       $reg['customfunc'] = array(
         'arguments' => array('param' => NULL),
         'file' => drupal_get_path('module', '<имя вашего модуля>') . '/file.inc',
         'theme path' => array(0 => drupal_get_path('module', '<имя вашего модуля>') ),
         'function' => 'theme_customfunc',
         'preprocess functions' => array(0 => 'template_preprocess'),
       );
       theme_get_registry($reg);
 
 
 
Кодом выше(это код для Drupal 6) регистрируется вот эта функция:
 
function theme_customfunc($param) {
 return "theme_customfunc($param)";
}
 
Далее ее вызов будет работать сразу после манипуляций с регистром тем. Код дан для Drupal 6, однако я предполагаю что в Drupal 7 все аналогично.



 


Самый-самый блог
Блогер Рыбалка
Рыбалка
по среднему баллу (5.00) в категории «Спорт»


Загрузка...Загрузка...
BlogRider.ru не имеет отношения к публикуемым в записях блогов материалам. Все записи
взяты из открытых общедоступных источников и являются собственностью их авторов.