Меню сайта на PHP

Меню сайта на php, который управляется php скриптами имеет свои особенности. Это не просто абсолютные либо относительные ссылки, хотя это вполне может быть и так, а, как правило, динамически формируемые блоки ссылок боковых панелей с разделами и подразделами и блоки ссылок с самих внутренних страниц сайта. Динамически формируемое меню очень удобно, потому, как его можно вставлять в любое место сайта и, что самое важное в нужное время. Тоесть при переходе в разные разделы и подразделы можно динамически разворачивать и разные блоки меню. Причем они могут быть разные не только по содержанию, но и по форме и оформлению. В статическом сайте тоже вполне можно проделывать такие финты, но это будет стоить дополнительных файлов шаблона и еще массу всяких ухищрений. В то время, как сайт написанный на php ничего этого не требует. Шаблон останется, как и был. Всем будет управлять один или несколько простых php скриптов.

Для того, чтобы убедиться в этом, достаточно написать php скрипт для динамического формирования меню, например, первой рубрики и заставить его развернуть меню этой рубрики через уже написанный ранее скрипт шаблонизатора. Остальные рубрики можно будет сформировать подобным образом. Причем код самого скрипта при этом мало чем практически не изменится. Меняться будет только текстовый файл, который будет определять названия ссылок и сами ссылки. Код такого скрипта приведен ниже по тексту.

<?php
// Формирователь меню
$menu = @file($rubric1_menu);
$lines = count($menu);
for ($i = 0; $i < $lines; $i++)
{
list($menu_link,$menu_name,$menu_title)=explode("::", $menu[$i]);
if($page == rub1_part1 and $i == 0) {$refcolor = "style='color:#cc0000'";}
elseif($page == rub1_part2 and $i == 1) {$refcolor = "style='color:#cc0000'";}
elseif($page == rub1_part3 and $i == 2) {$refcolor = "style='color:#cc0000'";}
else {$refcolor = "";}
$rubric1.="<li><a ".$refcolor." title='".$menu_title."' href='".$turl."/".$menu_link.".html"."'>".$menu_name."</a></li>";
}
?>

Для того, чтобы такой скрипт работал необходим текстовый файл в котором будут храниться названия ссылок меню, сами ссылки и их title. Создать такой файл несложно, достаточно выполнить из главного меню программы Dreamweaver команду File −> New, создать новый html документ, как было описано ранее, проверить и если необходимо изменить кодировку нового файла на UTF-8, а затем сохранить его под именем rubric1.dat в предварительно созданной для него папке data. Полный путь к этому файлу будет D:/Mysitephp/data/rubric1.dat. Содержимое файла, приведенное ниже, это сами ссылки, их названия и их title (подсказки). Кроме, для того, чтобы запустить данный скрипт в работу, его необходимо подключить с помощью функции include() в шаблонизаторе main.php.

rub1_part1::Раздел 1::Раздел 1 рубрики 1::
rub1_part2::Раздел 2::Раздел 2 рубрики 1::
rub1_part3::Раздел 3::Раздел 3 рубрики 1::

Кроме этого необходимо также создать небольшой скрипт с установками, в котором будут храниться полный адрес сайта, пути к папкам страниц и мета описаний сайта, пути к файлам меню сайта и подключить его с помощью функции include() в шаблонизаторе main.php. Для этого необходимо создать новый php файл, и сохранить его под именем например setings.php в папке php. Полный путь к файлу будет D:/Mysitephp/php/setings.php, а его содержимое приведено ниже.

<?php
# папка с html документами
$doctemplates = 'templates';
# полный путь до директории скрипта
$turl="http://mysitephp.ru";
# база с данными
$rubric1_menu = 'data/rubric1.dat';
?>

Как работает php скрипт формирования меню? Сначала в переменную $menu с помощью функции file() помещается содержимое текстового файла rubric1.dat. Затем функция count() подсчитывает количество строк в текстовом файле и функциями list() и explode() в цикле разворачивается само меню, где методом склеивания строк (операция точка .) формируются стороки ссылок с их названиями и титлами, которое затем помещается в переменную $rubric1. Далее скрипт шаблонизатора, куда скрипт меню подключен функцией include(), перемещает содержимое переменной $rubric1 в нужное место сайта с помощью уже описанной ранее функции repl ().

Такое меню пока работать не будет, поскольку в нем есть только сами ссылки со всеми необходимыми атрибутами, но нет, скрипта, который-бы обеспечил переход по этим ссылкам и открытие страниц сайта, которые будут соответствать этим ссылкам. Этим php скриптом мы займемся далее.

Далее можно скачать проект обновленный скриптом формирования меню. Скачать обновленный проект можно также на странице, которая откроется после оформления и активизации бесплатной подписки на панели справа. Адрес страницы необходимо сохранить. Именно на этой странице в дальнейшем будут появляться ссылки на скачивание обновлений проекта, различных полезных скриптов, программ, уроков и видеоуроков по схемотехнике, программированию и сайтостроению для новичков.

Скачанный обновленный новыми скриптами проект php сайта теперь можно сравнить с тем, что получилось в результате выше описанных действий. Далее, дабы исключить разночтения полезно будет полностью заменить проект на скачанный, выполнить операцию синхронизации, запустить сервер Denwer, набрать в окне браузера mysitephp.ru и просмотреть, что из этого получилось. В левой верхней части шаблона должно развернуться меню первого раздела, как показано на картинке ниже.

Меню сайта на php Формирование меню на php

Top.Mail.Ru