Список терминов определённого словаря с иерархией (+ количество документов)
Этот код выводит иерархический список терминов определённого словаря таксономии.
Каждый термин является ссылкой на страницу с анонсами статей, принадлежащих этому термину.
Рядом с каждым термином выводится количество документов.
Если документов нет, то нуль не выводится и название термина не является ссылкой.
Утащила код
Код:
$vid = 1; // Номер словаря
$pole = array();
$items = array();
$terms = taxonomy_get_tree($vid);
//var_dump($terms);
foreach ( $terms as $term ) {
$count = db_result(db_query("SELECT COUNT(nid) FROM {term_node} WHERE tid = %d", $term->tid));
if (taxonomy_term_count_nodes($term->tid) > 0) //если есть ноды. Добавила!!!
$pole[]=Array ((($count) ? l($term->name, "taxonomy/term/$term->tid")." (".$count.")" : $term->name), $term->depth, $count, $term->tid);
}
$depth =-1;
foreach ($pole as $list) {
//$depth- глубина предыдущего уровня
//$list[1] - глубина текущего элемента
if ($list[1] == $depth) {
echo "";
next;
}
while ($list[1] != $depth) {
if ($list[1] > $depth) {
$depth++;
echo "\n
- ";
next;
}
if ($list[1] < $depth) {
$depth--;
echo "\n\n