Количество нод у термина с учетом глубины

Аватар пользователя void

Как правильно и эффективно посчитать количество нод у термина с учетом вложенности (глубины), а также с учетом того, что словарь 500+ терминов, 3 уровня, нод 5+ т.?
(считать только опубликованные ноды)

Простой пример (дано и как должно быть):

н1, н2, н3 - ноды
т1, т2, т3 - термины

н1 (т2)
н2 (т2, т3)
н3 (т3)

Получается (в скобках количество нод):
т1 (3)
-т2 (2)
-т3 (2)

Выводить не вот таким списком, а в виде 1 Термин (количество нод) в нужном месте.
Может модуль какой есть (увы сам не нашел)?
В идеале хранился бы этот счетчик нод у каждого термина как свойство (или поле), которое можно запросить как в теме так и во вьюсе.

Тип материала:
Версия Drupal:
0 Thanks

Комментарии

Аватар пользователя Semantics
Semantics 6 месяцев назад

Каждый уровень - это +1 джойн таблицы самой на себя, не то, чтобы очень страшно, но в случае неверных фильтров или связей - может оказаться больно.

Хранение свойства - врядли такое вы найдете.

А так, taxonomy menu и этот материал посмотреть, для начала http://xandeadx.ru/blog/drupal/415

Аватар пользователя void
void 6 месяцев назад

Списком термины выводить нет потребности, только по 1 термину в нужных местах.

Аватар пользователя sas@drupal.org
sas@drupal.org 6 месяцев назад
1

Хорошо и быстро работает через taxomomy_get_tree + выборка материалов по списку терминов из дерева + подсчет в массив кол-ва полученных материалов по каждому термину.

Аватар пользователя void
void 6 месяцев назад

Спасибо. Буду пробовать.