Создание сложного меню

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

Аватар пользователя simon_db simon_db 22 февраля 2012 в 18:46

Все привет.
Есть словарь "бренды".

  • бренд 1
  • бренд 2
  • бренд 3

Есть три типа материала: Прайсы, Документация, Продукция. В каждом из этих материалов есть ссылка на термины словаря "бренды".

Мне необходимо построить меню таким образом:

  • Прайсы
    • бренд 1
    • бренд 2
    • бренд 3
  • Документация
    • бренд 1
    • бренд 2
    • бренд 3
  • Продукция
    • бренд 1
    • бренд 2
    • бренд 3

Я не могу найти решения как организовать такое меню, может, кто-то сталкивался с этим и есть какое-то простое решение?
Помогите пожалуйста.

Если стоить таксономию древовидно т.е.:

  • термин "Прайсы"
    • термин "бренд 1"
    • термин "бренд 2"
    • термин "бренд 3"
  • и т.д. - это будет выход, так как можно будет использовать модуль "taxonomy_menu". Но здесь получится избыточность терминов и неудобство в администрировании, да и нарушается сама концепция таксономии.

Комментарии

Аватар пользователя simon_db simon_db 22 февраля 2012 в 22:36

Спасибо вам за ответы. Возможно, я не точно изложил суть дела.
Попробую, как можно понятнее описать суть проблемы.
Например, есть словарь "Производители" и он содержит термины "asus","gigabyte","xfx".
Есть два типа материалов: "материнские платы" и "Видео карты". В этих типах материалов есть ссылка на словарь "Производители".
Необходимо сделать навигацию такого плана.
-Материнские платы
--ASUS
--gigabyte
--xfx
-Видео карты
--ASUS
--gigabyte
--xfx

Если понадобиться добавить нового производителя, то я просто в словарь "Производители" добавлю новый термин "Palit".
И этот термин появится в меню "Материнские платы" и "Видео карты".

Аватар пользователя Chyvakoff Chyvakoff 23 февраля 2012 в 8:50

Тогда тебе 2 раза просто вывести термины словаря надо и сделать 2 вьюса.один вьюс будет показывать мамки,а второй видюхи.
и аргументом будешь передавать id термина.

Аватар пользователя Chyvakoff Chyvakoff 23 февраля 2012 в 12:33
/* выводим дерево терминов  */
$itog=taxonomy_get_tree($vocab,$child,-1, 1);
foreach ($itog as $value) {print "<span>".l($value->name, "taxonomy/term/".$value->tid)."</span> ";}

вот твоё меню.засунь это в блок.
короче включаешь голову, руки и запускаешь гугл.направление тебе дали.

Аватар пользователя simon_db simon_db 23 февраля 2012 в 12:45

Спасибо Вам за помощь. Еще очень важный вопрос. Поучится ли организовать при всем этом нормальную адресацию. каталог->материнские платы->asus.

Аватар пользователя simon_db simon_db 23 февраля 2012 в 13:34

Может, я что-то не так понимаю. Пытаюсь представит как будет выглядеть патерн в таком случае и никак что-то не могу.
Просто, если я перейду на страницу теримина "asus" то он мне покажет материалы как "матерински платы" так и "Видео карты". А мне так как раз и не надо.

P.S. Наверное, все же придется вернуться к древовидной структуре таксаномии, сделать ее такой (

Материнские платы(словарь)
-asus
-gigabyte

Видео карты(словарь)
-asus
-gigabyte
). Мне просто не нравится, что в таком виде будут постоянно в разных словарях будут дублироваться термины с одинаковыми названиями брендов.