taxonomy_get_tree() сортировка по количеству нод

Главные вкладки

Аватар пользователя Grig Grig 19 февраля 2009 в 13:36

В моем случае необходимо сортировать термины словаря, выведенного этой функцией, двумя способами в зависимости от GET переменной. Либо по name, либо по количеству нод для этого словаря. Решил дописать функцию и ввести в нее новый параметр $order, тнао ким способом я смогу лишь выбирать, сортировать ли мне по имени, ид или весу.
А вот по количеству нод - начинается сложность. Посчитать количество нод у термина вроде как просто taxonomy_term_count_nodes($term->tid), но ведь сделать это можно уже после выполнения секвел запроса и создания двухмерного массива $term. Таким образом нужно либо пересортировать этот самый массив, либо создать какой то хитрый запрос mysql, чтобы считать ноды его средствами(в mysql же тоже есть COUNT, так?). Так вот мозгов мне на это че то никак не хватит... Подскажите способы решения? Или, возможно, есть какие то законные методы, без переписывания функции?

P.S. А движок таки - супер. И раздел www.api.drupal.ru - тоже! Рай для программиста, тока нужно попривыкнуть к функциям

Комментарии

Аватар пользователя theСанитар theСанитар 19 февраля 2009 в 22:41

Я бы все-таки написал свою функцию выборки на основе кода стандартной функции. Ибо любые сортировки в памяти -- это деградация производительности и рост аппетитов к памяти. Если есть БД, то уж логично сделать максимум работы в ней. COUNT в мускуле есть, равно как и группировки, разумеется. Где-то так.

Аватар пользователя Grig Grig 20 февраля 2009 в 21:03

у меня возникла проблема на стадии составления секвесзапроса:) как врезать это в функцию, проблема невеликая:)