Как правильно и эффективно посчитать количество нод у термина с учетом вложенности (глубины), а также с учетом того, что словарь 500+ терминов, 3 уровня, нод 5+ т.?
(считать только опубликованные ноды)
Простой пример (дано и как должно быть):
н1, н2, н3 - ноды
т1, т2, т3 - термины
н1 (т2)
н2 (т2, т3)
н3 (т3)
Получается (в скобках количество нод):
т1 (3)
-т2 (2)
-т3 (2)
Выводить не вот таким списком, а в виде 1 Термин (количество нод) в нужном месте.
Может модуль какой есть (увы сам не нашел)?
В идеале хранился бы этот счетчик нод у каждого термина как свойство (или поле), которое можно запросить как в теме так и во вьюсе.
Комментарии
Каждый уровень - это +1 джойн таблицы самой на себя, не то, чтобы очень страшно, но в случае неверных фильтров или связей - может оказаться больно.
Хранение свойства - врядли такое вы найдете.
А так, taxonomy menu и этот материал посмотреть, для начала http://xandeadx.ru/blog/drupal/415
Списком термины выводить нет потребности, только по 1 термину в нужных местах.
Хорошо и быстро работает через taxomomy_get_tree + выборка материалов по списку терминов из дерева + подсчет в массив кол-ва полученных материалов по каждому термину.
Спасибо. Буду пробовать.
http://xandeadx.ru/blog/drupal/18
http://xandeadx.ru/blog/drupal/545