Здравствуйте, уважаемые поклонники друпала
Помогите пожалуйста решить одну задачу.
Есть код который выводит список терминов таксономии и количество дочерних терминов для каждого термина родителя
<?php
$vid = 3;
$terms = taxonomy_get_children(0, $vid);
if (count($terms)) {
echo '
- ';
- tid'>" . l($term->name, taxonomy_term_path ($term)) ;
$children = taxonomy_get_children($term->tid, $vid);
$cnt = count($children);
if ($cnt) echo " ($cnt)";
echo "
foreach ($terms as $term){
echo "
";
}
echo '
';
}
?>
Скажите пожалуйста как вместо кол-ва дочерних терминов вывести кол-во нод в дочерних терминах.
Для наглядности пример:
Есть термины таксономии:
термин1
дочерний термин 1 (имеет допустим 20 нод)
дочерний термин 2 (25 нод)
дочерний термин 3 (10 нод)
термин2
дочерний термин 1 (имеет допустим 5 нод)
дочерний термин 2 (30 нод)
Код выводит так
термин1 (3) - кол-во дочерних терминов
термин2 (2) - кол-во дочерних терминов
А нужно:
термин1 (55) - кол-во дочерних нод
термин2 (15) - кол-во дочерних нод
ПОМОГИТЕ, ПОЖАЛУЙСТА!!!
Комментарии
Никто не знает как?
Напишите что-то вроде такого.
FROM {node} node
INNER JOIN {term_node} tn ON node.vid = tn.vid
INNER JOIN {term_data} td ON td.tid = tn.tid
WHERE node.status = 1
AND td.vid = %d", 3);
while ($data = db_fetch_object($query)) {
$count[$data->tid] = ++$count[$data->tid];
}
Пример: У вас есть словарь Фрукты и у него vid = 3. В этом словаре есть термины c tid = 1,2,3,4,5. В результате исполнения вышеназванного кода у вас должно получится: count[1] - количество нод у термина с tid = 1, count[2] - количество нод у термина с tid = 2, и так дальше.
P.S. Код в действии не проверялся-писался на лету!