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

Николка

Новичок
Всем доброго времени суток, прошу помощи у знающих людей, как реализовать следующее:
Имеется: 1. каждая кнопка меню -а href'=>dirName(__FILE__).'/../тра-та-та/'), на отдельный скрипт.
2. Каждая кнопка имеет переменную названия, соответствующее скрипту, который в свою очередь ныряет при выполнении в базу, подбирая значения вкл или выкл, если вкл то переменная названия, соответственно, присваивается, пункт меню появляется в общем выводе.
array('link'=>$menugallery, 'href'=>dirName(__FILE__).'/../gallery/')
$menugallery='Галлерея'
ВОПРОС: Очевидная нестыковка у меня с порядком исполнения, скрипт ныряет в базу за $ВКЛ уже после непосредственно предпологаемого вывода пункта меню. Если замысел объяснил худо-бедно, то подскажите как грамотно реализовать подобную структурку. Как сделать меню (вот это) с взаимосвязанным выводом на всех страничках сайта, может new Menu???? Ну или может проще все на самом деле?
ДЛЯ ЧЕГО: для того чтоб не копировать постоянно a hrefЫ на многостраничные просторы интерфейса сайта для дальнейшего оформления только одного участка кода, отвечающего за вывод меню на всем сайте.
Подход: процедурный, без стронних классов (почти:rolleyes:)))))
 

Николка

Новичок
Да, хотел уточнить по какой причине не сделать просто menu.php и при помощи include просто везде вкручивать, как мне показалось, при каждом клике на пункт меню лазать в БД это не верно, но может я и не прав... А может Global?? Ребятки, поможите чем можите, сами мы не местные...
 

С.

Продвинутый новичок
С чего ты решил, что в БД придется лазать при каждом клике? А пока дело еще не дошло до кликов, меню надо прорисовать сначала..Откуда информация для него возьмется?
 

Николка

Новичок
$Menu = array(
array('link'=>'$Главная', 'href'=>dirName(__FILE__).'/..'),
array('link'=>'$О нас', 'href'=>dirName(__FILE__).'/..),
array('link'=>'$Наши будни', 'href'=>'dirName(__FILE__).'/..'),
array('link'=>'$Услуги и цены','href'=>'dirName(__FILE__).'/..'),
array('link'=>'$Заявка на бронирование места', 'href'=>'dirName(__FILE__).'/..'),
array('link'=>'$Галерея', 'href'=>dirName(__FILE__).'/..'),
array('link'=>'$Контакты', 'href'=>'dirName(__FILE__).'/..'),
array('link'=>$menupedsostaw, 'href'=>dirName(__FILE__).'/../pedsostaw/'),
);


echo'<ul style="list-style-type:none">';
foreach ($Menu as $lav ){
echo"<li><a href='$lav[href]'>$lav[link]</a></li>";





Орфография ,естественно, отсутствует, так как для наглядности ибо.
 

Николка

Новичок
Теперь при переходе на другую страничку, надо будет инклюдить это меню, как я понимаю, но я могу плохо понимать, следовательно опять запрос к БД потому как меню вормируется из переменной ВКЛ, точнее ее наличия или отсутствия, как то так, ну это в моей голове, помощи прошу из-за нестыкухи)))))))
 

С.

Продвинутый новичок
Так при первом показе меню (еще до кликов) тебя не интересуют никакие ВКЛы? Выдаешь меню абы как?
 

С.

Продвинутый новичок
Кто он?

Я тебя спрашиваю, когда ты выдаешь меню первый раз (до клика), ты выдаешь его с учетом твоих ВКЛ/ВЫКЛ, или тебе пофиг, как оно выдастся?
 

С.

Продвинутый новичок
Ни на какие мысли не наводит?

Стало быть "нырять" в БД за состояниме ВКЛ придется уже до всяких кликов. Причем ни какого-то одного элемента, а,всех.
 

Николка

Новичок
Наводит на мысль что ты вопрос мой не уловил, он в том и заключается, нормально ли постоянно в базу нырять, есть ли возможность вытащить данные единожды и перетискивать их по всем скриптам, где имеется вывод меню?
 

С.

Продвинутый новичок
Ну если для "возможность вытащить данные единожды и перетискивать их по всем скриптам" ты думаешь о Global, new Menu "Или вапще tpl", то меня наводит на мысль, что ты совсем не понимаешь базовых принципов работы веб-приожения. Попробуй хоть один из этих способов, потом поговорим.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
По каким материалам, автор, ты изучаешь язык? Меня очень смущают в твоем коде:
1. 'link'=>'$Главная'
2. 'href'=>dirName(__FILE__).'/..'
3. $lav[link]

и т.д.

Если у тебя "вкл" и "выкл" - это состояни активности раздела, то никакого "ныряет в базу" здесь не надо.

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

Николка

Новичок
Ребят, при всем уважении, я вобщем то на форум и пришел за знаниями, я уже понял что вы шарите, а я нет, но вот если б кто из Вас написал, что мол, гоблин- сделай так так и так, а по каким книгам и материалам изучаю - по мануалам и вот таким форумам. c0dex, намекни хоть куда читать, smarty хотелось бы использовать в крайнем случае, потому-что. А про состояние активности раздела, где хранить тогда, если не в БД?? Вобщем братцы, от критики может к вопросу??
 

Николка

Новичок
Если б я кубаторил, я б не писал сюда и не тратил бы три дня, кароче сделал сам, сусам-велосипед, меню в отдельный файл и include там где надо, а надо в индексах отдельных скриптов. Так делают?
 

Николка

Новичок
да, c0dex, код для наглядности, не рабочий, просто схематично показал, так как на пункты еще не навешаны реальные переходы.
 

С.

Продвинутый новичок
Если б я кубаторил, я б не писал сюда и не тратил бы три дня, кароче сделал сам, сусам-велосипед, меню в отдельный файл и include там где надо, а надо в индексах отдельных скриптов. Так делают?
Делают так, как работает. И ты уже сделай как-нибудь. Потом будешь оптимизировать (если это вообще понадобится) и когда ты будешь понимать, как в принципе это можно оптимизировать.
 

Николка

Новичок
Спасибо, реально дельный совет, устал уже думать 'а так делают, а так, а может это вата, а людей это не рассмешит?' Не претендую я на ТОП технологий, главное чтоб происходило задуманное.
 
Сверху