Top.Mail.Ru
Ответы

Организация меню в бд mysql

Меню то я сделал но нужно уточнить а потом доделать некоторые моменты. Имеем таблицу page(id,name,url,content,group,parent).Есть меню верхнее (новости главная отзывы вход регистрация), нижнее (новости главная отзывы) и меню для личного кабинета (настройки личные сообщения профиль и т. д). Как вы заметили в нижнем меню нет (вход регистрация). Создал класс там получаю меню, подсвечиваю активную ссылку и вывожу меню. Функция имеет вид menu(position,opentag,closetag).Вот думаю как правильнее организовать меню. Может в админке сделать возможным создание группы меню и добавление в нее допустим id меню). Группа топ и перечислить в ней id меню верхнего, группа боттом нижнего, кабинет там id которые будут доступны в лк и тд. Правильно ли я думаю или есть какой то более правильный способ. Меню делаю в бд там сразу будет хранение html контента, мета тег, можно менять порядок вывода меню и другие настройки.

По дате
По рейтингу
Аватар пользователя
Гений
11лет

Ещё одна таблица, вроде
1 | верхнее меню
2 | нижнее меню
3 | меню для личного кабинета

Ещё один столбец с id типа меню в таблице с пунктами меню

И при создании пункта меню в админке select с выбором типа меню

Аватар пользователя
Ученик
11лет

Например создал top,bottom,lk.При создании меню как мне выбрать допустим top и lk или bottom и top?

Аватар пользователя
Ученик
11лет

Лучше всего для меню юзать Nested Sets, почитайте про это, рано или поздно придёте сами к этому. а структура примерно следующая:
id | name | left | right | level | root

Таким образом вы сможете хранить огромное количество менюх, без ограничения по уровням вложенности :) А дерево меню можно будет строить без рекурсии и выбирать одним запросом :)



Видео по теме