Как в Drupal вывести текущую категорию для node и переписать taxonomy path с помощью Pathauto

в разделе Программирование | Метки: PHP, Drupal

Продолжительное время у меня на блоге в каждом посте под названием поста выводилась дата, кто разместил и по идее должны были выводиться категории, но на самом деле выглядело все примерно так: Posted on 09. Jun, 2011 by boris in. И на этом in все заканчивалось. В шаблоне blogbuzz был такой кусок кода:


<?php if ($terms): ?>
<span class="terms"><?php print t(' in '$node_terms?></span>
?>

В шаблоне который как правило используется по умолчанию (Garland), обычно выводятся вообще все Taxonomy terms, привязанные к текущей ноде. У меня к каждой ноде привязаны, категории и теги. Теги я отображать не хочу, они используются только в модуле "Similar By Terms", который под каждым постом выводит похожие по тематике посты, основываясь на тегах и категориях. Просто вывести все Taxonomy не составляет никакой проблемы (), они даже будут отформатированы как html-список. Мне хотелось под/над каждым постом просто категорию в которой находится конкретный пост. Я воспользовался функцией "taxonomy_node_get_terms_by_vocabulary". Для категорий может быть только один словарь, так что я просто выбрал самый первый элемент, и дальше с помощью drupal_get_path_alias получил текущий path alias:


<?php 
// Цифра 1 - это ID словаря, в котором находятся категории
$categories taxonomy_node_get_terms_by_vocabulary($node1);
$currentCategory array_pop($categories);
$path drupal_get_path_alias('taxonomy/term/'$currentCategory->tid);
?>
<span class="terms"><?php print t(' in ') . "<a href='{$path}'>{$currentCategory->name}</a>"?></span>
?>

In English