Такая проблема: есть сайт о композиторе, есть словарь с названиями опер и тип материала "рецензия", в котором указывается термин. На странице оперы, соответственно, стоит ссылка вида term/N и по ней вываливается список рецензий на эту оперу. Все замечательно.
Но мы сделали общую страницу с табличкой "оперы - ссылки на рецензии", и сразу возникло желание указывать рядом количество имеющихся рецензий (с данным термином). А еще бы хорошо и количество комментариев во всех этих рецензиях. Лазила-лазила по статьям - так и не нашла, как это сделать. Подскажите, пожалуйста!
Комментарии
Вот здесь найдется решение
Большое спасибо!
Я тоже еще раз полазила за это время на сайте и нашла почти такое же решение http://www.drupal.ru/node/13080
Но остался открытым вопрос с количеством комментариев. Как-то можно узнать количество комментариев к ноде?
Есть такая табличка node_comment_statistics там все есть. В конце концов можно и запрос по самой таблице comments сделать с подсчетом.
Удачи.
Спасибо!
Я бы решил эту проблему попроще. Для того, чтобы просто отображать количество статей привязанных к термину можно использовать модуль Taxonomy Treemenu. Можно и Taxonomy Menu, но он малость глюковатый.
Правда вывести количество комментариев этим модулем не получится.
Кстати, есть еще функции comment_num_all($nid) и comment_num_new($nid).
Можно также воспользоваться функцией [ru-api=taxonomy_term_count_nodes]taxonomy_term_count_nodes[/ru-api]
Ой, особенное спасибо за ссылку на сайт с функциями! Теперь я поняла, от чего отталкиваться.
Все получилось! Использовала в качестве рыбы код с http://www.drupal.ru/node/13080 с небольшими изменениями и плюс запрос к node_comment_statistics.
Дополнительная и измененная строчки, (если вдруг у кого возникнет такая же проблема):
$com_count = db_result(db_query("SELECT SUM(comment_count)
FROM {term_node} t LEFT JOIN {node_comment_statistics} c ON t.nid = c.nid
WHERE t.tid = %d", $term->tid));
$pole[]=Array ((($count) ? l($term->name, "taxonomy/term/$term->tid/all")." (рецензий - ".$count.", всего комментов - ".$com_count.")" : l($term->name, "taxonomy/term/$term->tid/all") ), $term->depth, $count, $term->tid);
Всем ответившим - спасибо за помошь!
спасибо, полезно