Forum Webscript.Ru

Программирование => PHP => Тема начата: tarya от 28 Сентября 2004, 17:50:00

Название: Теория вложенного меню
Отправлено: tarya от 28 Сентября 2004, 17:50:00
Добрый день.

Как то давно уже небыл здесь а сегодня вот решил зайти посмотреть как кто живет и по ходу вспомнил то о чем думаю.


Теория:

на одном из сайтов строю меню навигации посредством скрипта обрабатывающего массив и на основе того строит меню навигации.

Пример:



$buttons = array(
1 => array ("О компании" => "about",
                                1 => array (
"Контакт" => "feedback",
"Как проехать?" => "how"
)
                                 ),

        2 => array ("Образование" => "education",
                                1 => array (
"Au-Pair" => "ed-aupair",
"Франция" => "ed-france",
"Швейцария" => "ed-switzerland")
                                 ),

         3 => array ("Туризм" => "tourism",
                                1 => array (
"Аргентина" => "to-chili",                          
"Швейцария" => "to-swiss",
"Южная Африка" => "to-africa"
)
                                 ),
        4 => array ("Круизы" => "cruises"),
8 => array ("Welcome to Ukraine" => "welcometoua"),
7 => array ("Погода в мире" => "pogoda")
        );



Как видно из примера массив многомерный, он включает в себя подразделы и страницы.

Что хочу я:

Хочу все перевести под базу данных, чтоб потом на странице администратора просто вписывать новые поля и не радактировать файл меню.

Просто незнаю как все хранить в базе данных чтоб потом легко одним запросом получать подобную структуру.

Меня не интерискет код, мне нужен совет, теория чтоли.


Спасибо за помощь.
Название: Теория вложенного меню
Отправлено: Макс от 28 Сентября 2004, 19:44:09
на этом форуме уже много раз обсуждались деревья. Были и коды и теория и ссылки на статьи.
Поиск по словам : дерево, вложенные множества, nested sets
Название: Теория вложенного меню
Отправлено: Меняздесьдавнонет от 28 Сентября 2004, 21:01:45
пункты меню и страницы - это разные вещи.
пункты меню редактировать прихдится ЧЕРЕЗВЫЧАЙНО редко.
тольк добавляя новый раздел на сайт.

Если это понимать, то никаких проблем не будет
Название: Теория вложенного меню
Отправлено: Daiz13 от 29 Сентября 2004, 12:14:34
ответ зависит от того как потсроен весь сайт, если странички статические, то нет смысла лепить админку только для меню.
и совсем другое дело если сайт динамический - можно сделать админку для полного управление структурой (добавление, редактированеи, удаление разделов сайта )
Название: Теория вложенного меню
Отправлено: Меняздесьдавнонет от 29 Сентября 2004, 12:39:23
Daiz13
ты считаешь динамическим сайт, на котором разделы добавляются каждый день?
А остальные - статическими?
Название: Теория вложенного меню
Отправлено: tarya от 29 Сентября 2004, 14:58:01
я добавляю разделы редко, но в практике это может пригодиться, например я сделаю сайт комуто и они захотят сделать раздел новый, как бы все уже подвязано более менее, но все же по меню хотелось бы загнать ее в базу данных что ручками неправить файл.
Просто интересно как в базе данных ставить привязки полей к тому или иному разделу и так далее. Например раз дел 1 - новости, и есть подразделы к новостям - как их например упорядочивать чтоб было понятно что они к первому идут. Возможно 1_1, 1_2, 1_3_1,... и так далее.
Меня как бы такое решение интерисует.

спасибо
Название: Теория вложенного меню
Отправлено: Forza от 29 Сентября 2004, 15:04:16
Цитировать
tarya:
Просто интересно как в базе данных ставить привязки полей к тому или иному разделу и так далее. Например раз дел 1 - новости, и есть подразделы к новостям - как их например упорядочивать чтоб было понятно что они к первому идут. Возможно 1_1, 1_2, 1_3_1,... и так далее.

Завести 2 поля - ID старшего раздела и № подраздела. Или надо что-то посложнее?
Название: Теория вложенного меню
Отправлено: Меняздесьдавнонет от 29 Сентября 2004, 15:04:56
раздел на сайт автоматом добавить нельзя.
раздел - это отдельный скрипт.
если же речь идет о новом каталоге в каталогизаторе текстов, то это не пункт меню, а раздел в уже существующем пункте меню.
Меню должно отражать разделы сайта.
А не содержимое разделов.