как добавить переменные в block.tpl.php

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

Аватар пользователя modest_man modest_man 12 августа 2009 в 22:49

Подскажите как в файле block.tpl.php получить переменные из page.tpl.php, конкретнее это $head_title и $primary_links.
Пробовал в файле template.php использовать функцию phptemplate_preprocess_block

<?php
function phptemplate_preprocess_block(&$vars) {
$vars["my_title"]=$head_title;
return $vars;
}
?>

но так не работает

Комментарии

Аватар пользователя modest_man modest_man 13 августа 2009 в 16:17

glu2006, ничего не выдает.
С $primary_links разобрался, сделал меню не в блоке а в page.tpl.php.
Теперь надо как-то в блоке или в page.tpl получить термины таксономии. Как это сделать?

Аватар пользователя modest_man modest_man 13 августа 2009 в 16:38

в page.tpl.php такой код:
<?php
foreach (taxonomy_get_vocabularies($variables['node']->type) as $vid=>$vocab) {
foreach (taxonomy_node_get_terms_by_vocabulary($variables['node']->nid, $vid) as $term) {
echo $term;
}
}
?>
функция taxonomy_get_vocabularies получает словари таксономии, а функция taxonomy_node_get_terms_by_vocabulary почему-то не возвращает термины таксономии. Что я делаю не так?

Аватар пользователя serious.vip@drupal.org serious.vip@dru... 13 августа 2009 в 20:52

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

выход из ситуации - грузить то что надо используя внутренние api нужных модулей, конечно не верх изящества, но рабочий вариант