Как правильно вывести сложное дерево разделов

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

Аватар пользователя Jenia Jenia 28 декабря 2007 в 10:06

Мне нужно на главную страницу одного из терминов (разделов) вывести всё дерево его подразделов. Причём мне нужно, чтобы около каждого раздела было написано есть ли в нём материалы определённого типа или нет. Примерно это должно выглядеть так:

Раздел 1 (есть фото || нет статей || нет видео)
--Подраздел 1 (есть фото || нет статей || нет видео)
--Подраздел 2 (нет фото || есть статьи || нет видео)
--Подраздел 3 (нет фото || нет статей || есть видео)
--Подраздел 4 (есть фото || есть статьи || нет видео)

Раздел 2 (есть фото || нет статей || нет видео)
--Подраздел 1 (есть фото || нет статей || есть видео)
--Подраздел 2 (нет фото || есть статьи || нет видео)
--Подраздел 3 (есть фото || есть статьи || нет видео)

Раздел 3 (есть фото || нет статей || нет видео)
--Подраздел 1 (нет фото || есть статьи || есть видео)
--Подраздел 2 (есть фото || есть статьи || нету видео)

Причём тип материала можно узнавать не только непосредственно по типу, а и по соответствующему справочнику (разным типам соответствуют разные справочники).

В данной случае у меня два вопроса:
1. Как просто вывести всё дерево подразделов на определённой странице (думаю, что с помощью одного из модулей типа taxonomy_menu)?
2. Как около каждого раздела подписать наличие или отсутствие определённого типа материалов (думаю, что нужно самому переделывать какой-то модуль)?

Я неплохо разбираюсь в php, поэтому готов сам что-то переделывать. Просто подскажите более правильный путь.

Комментарии

Аватар пользователя Jenia Jenia 30 декабря 2007 в 6:00

Если пользоваться сниппетами, то смогу сам реализовать всё что угодно. Только меня пугает, что Друпал использует функцию eval() для исполнения сниппета. Это не преведёт к проблемам со скоростью? Всегда считал, что eval() - это зло и никогда ей не пользовался. Может я ошибался?

Аватар пользователя Jenia Jenia 30 декабря 2007 в 22:01

Да уж... Лучше бы сниппеты загонялись в файл и делался include в нужном месте. Хотя, я думаю, это можно и самому реализовать. Если с руками всё нормально, то можно из чего угодно сделать конфетку.

Просто получается ситуация, когда я перехожу с самописного сайта на CMS, чтобы писать как можно меньше кода. А всё равно приходится лезть в php и что-то дописывать и переписывать.

Аватар пользователя player player 31 декабря 2007 в 13:52

я когда перешел с самописной CMS на друпал, тож сначала неудобно было. Однако теперь стараюсь при работе с клиентом посадить его на друпал. Если что-то экстраординарное, то пишу сам, а так чуть переделываю и все! Просто очень много модулей есть под него.

Аватар пользователя Jenia Jenia 1 января 2008 в 3:10

Не спорю. В Друпале ковыряюсь только 10 дней, но уже многое понятно. Очень помогает хорошее знание PHP и Mysql. Чувствую, если некоторые моменты переписать под себя, то получится очень неплохая система.