Ситуация:
словарь с 3я уровнями иерархии. например
Процессор
- Intel
-- 486
-- Pentium
-- etc
- AMD
-- k6
-- k7
-- etc
При создании ноды я через hierarchical select могу повесить отдельно любой термин(или категорию или марку или модель).
Вопрос заключается в следующем.
при просмотре ноды с термином например Pentium (напомню что сюда я могу повесить любой уровень), мне нужно вывести в блок все термины уровня 2, то есть марки для последующей навигации по ним.
Каким макаром это можно сделать?
Комментарии
не кривыми руками и php
я бы сделал как то так:
сперва получил номер термина который уже выбрал. для него получил номер термина-parent, и т.д.
и так до тех пор, пока вы не получите термин, у которого значение parent=0
хотя на сколько я помню в виевсах при выводе такого поля (созданного через hierarchical select ) можно выбрать чтобы ссылка выглядела как раз как вам и нужно... Процессор > Intel > 486
попробуйте поковырять... там стандартно все
Решил, авось кому пригодиться
<?php
if ( arg(0) == 'node' && is_numeric(arg(1)) ) {
$node = node_load(arg(1));
$vid = 1;
$terms = taxonomy_node_get_terms_by_vocabulary($node, $vid);
if ($terms) {
foreach ($terms as $term) {
}
}
}
$tid = $term->tid;
$items = array();
$children = taxonomy_get_children($tid);
foreach ( $children as $child ) {
$items[] = l($child->name, 'taxonomy/term/'. $child->tid);
}
print theme('item_list', $items); ?>