Hi All!
Здесь уже поднимались вопросы типа картотек сотрудников, справочников и пр.
Кто-то заметил, что подобный вопрос можно разбить на 2 части:
1. структура и тип контента - штатно.
2. Вывод всего этого в приличной форме.
Я о втором аспекте
Имеется словарь (справочник предприятий. да в принципе что угодно может быть) с разделами и подразделами по видам деятельности.
Как его красивенько вывести и устроить по нему навигационные переходы (как во всяких электронных каталогах, досках и пр...) ???
Я думаю это вопрос актуальный и его надо решать!
Комментарии
Опишите задачу подробней, с примерами.
Есть словарь вида:
Бизнес-справочник
* IT-технологии
o Интернет-провайдеры
o Компьютерные клубы
o Компьютеры, комплектующие
o Программное обеспечение
o Ремонт, обслуживание
* Авторынок
o Автозапчасти
o Авторемонт
o АЗС, ГСМ
o Мойки
o Салоны, магазины
o Тюнинг
Необходимо его вывести примерно в в таком ракурсе:
Бизнес-справочник
IT-технологии
, Компьютерные клубы (4),
Интернет-провайдеры
Компьютеры, комплектующие (12), Программное обеспечение (9),
Ремонт, обслуживание (5)
Авторынок
, Салоны, магазины (18),
Автозапчасти (2), Авторемонт (7)
АЗС, ГСМ (12), Мойки
Тюнинг (5)
В скобках - количество нод в подрубрике.
Что-то в этом роде. Т.е., необходимо получить красиво (удобно) выведенный справочник.
И всё?
10 строчек кода.
Надеюсь я не слишком самоуверен
Помогут функции:
taxonomy_get_children($tid, $vid = 0, $key = 'tid')
taxonomy_get_vocabularies($type = NULL)
Примерчик можно?
И вообще, на этот сайт я зачастил пару недель назад.
Смотрю, тут вовсю используются подобные приемы.
Это нормальный ход вещей?
Ну может с помощью views можно сварганить.
Примерчик (работающий) ближе к вечеру напишу. Если только не объявится герой и не напишет вперёд меня (:))
Готово!
делаем страницу с форматом PHP и вставляем туда вышеприведённый код.
Уместился в 10 строк!
<?php if( !module_exist("taxonomy")){
print('Включите модуль taxonomy!');
return;
}
foreach( taxonomy_get_vocabularies() as $vid ){
print(''.$vid->name.'
');- '.$tid->name.' ('.taxonomy_term_count_nodes($tid->tid).')
foreach( taxonomy_get_tree($vid->vid) as $tid )
print('
');
print('
');
}?>
Таки да
Спасибо!

Все довольно просто. Будем пробовать.
Но! Этот пример выводит термины словаря сплошным спиком.
А как в иерархическом?
Если конечно не сложно
Я сделал так как написано в http://www.drupal.ru/node/2839#comment-13127
Пиши ТЗ заново
Словарь: "Бизнес-справочник" (vid - 16)
Термин первого уровня: "IT-технологии"
Термины второго уровня (подтермины IT-технологий):
- Интернет-провайдеры
- Компьютерные клубы
- Компьютеры, комплектующие
- Программное обеспечение
- Ремонт, обслуживание
Так выглядит один раздел с подразделами.
Ессно что таких разделов с подразделами несколько и их количество может меняться.
Вроде все. Фух.
"Но! Этот пример выводит термины словаря сплошным спиком."
Этот пример выводит термины всех словарей, то есть два уровня: словарь - термы.
Как ты хочешь тоже вроде не сложно. Но ближайшие несколько дней времени не будет написать. Если сам не разберёшься - накропаю (я вообще-то PHP не очень знаю - сишники мы
Думаю, разберусь. В любой случае - спасибо за наводку

Сцылочку потом дам
Кодгда будешь кодить, не забудь, что иерархия может быть множественной, то есть у терма может быть несколько родителей и соответственно отображаться он будет несколько раз в списках.
Если хотите чтобы список категорий был в виде Javascript дерева,то используйте это, а затем используйте на странице следующий код:
foreach( taxonomy_get_tree(16, 0, -1, 1) as $term ) {
$v=taxonomy_dhtml_block('view','c'.$term->tid);
echo '<table border="1"><tr><td>'.$v['subject'].'</td></tr><tr><td>'.$v['content'].'</td></tr></table>';
}
?>
Потом на странице настроек модуля можно задать свернутыми или развернутыми будут категории по-умолчанию.
Кстати, ничего придумывать самому не надо!
Всё что нужно тебе, есть в ф-ции taxonomy_overview_terms. Попробуй это:
<?php
foreach( taxonomy_get_vocabularies() as $vid )
print taxonomy_overview_terms($vid->vid);
?>
---
inc, спасибо