Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Скрипт-обработчик меню<?php // сначала добьемся однозначности имени запрашиваемого файла if (@array_key_exists('extension', $path)){// если в массиве есть ключ расширений @$localpath['dirname']=str_replace('\\','/',$path['dirname']).'/';// замена слешей для совместимости с локальным сервером @$localpath['basename']=str_replace('\\','/',$path['basename']); }else{// иначе обращение к каталогу и basename содержит имя каталога @$localpath['dirname']=str_replace('\\','/',$path['dirname'].'/'.$path['basename'].'/'); @$localpath['basename']='index.html'; } // если нужно считать что file.php?a=1 и file.php?a=2 - это то же самое, нужно отбросить параметры if(strpos($localpath['dirname'], "?")!== false){// ecли $localpath['dirname'] содержит параметры $localpath['dirname']=substr($localpath['dirname'],0,strpos($localpath['dirname'], "?")); } while (ereg("//", $localpath['dirname'])) { $localpath['dirname']=str_replace('//','/',$localpath['dirname']);// если где-то оказалось 2 слеша подряд, заменить на 1 }
$menuarray=file($_SERVER['DOCUMENT_ROOT']."/include/menu.txt"); // считаем меню
for($i=0; $i < count($menuarray); $i++) { // перебросим строку в переменные @list($uroven, $katalog, $namefile, $nazvanie)=explode("|",trim($menuarray[$i])); if ($namefile=='index.html'){// заменим index.html на пустое имя $newnamefile=''; }else{ $newnamefile=$namefile; } if (eregi('^'.$uroven.'.*$',$localpath['dirname'])!==false){ // если начало пути запрашиваемого файла // совпадает с минимальным уровнем отображения для пункта меню, пункт будет отображаться $myarray=explode("/",$uroven); $counturoven=count($myarray);// счетчик уровней вложенности if (@$oldcounturoven){// если старое значение счетчика сохранено if ($oldcounturoven < $counturoven){// если уровень изменился в большую сторону echo "<ul>\r\n"; }else if ($oldcounturoven > $counturoven){ // если в меньшую (если не изменился, ничего не делаем) echo "</ul>\r\n"; } } $oldcounturoven=$counturoven; // теперь сохраняем старое значение if ($counturoven > 2){// если уровень превышает второй, делаем список $nametag='<li>'; }else{// если не превышает, делаем абзац $nametag='<P>'; } if ($localpath['dirname'].$localpath['basename']==$katalog.$namefile){// если путь и имя файла в пункте меню совпадают с запрашиваемым, // отображаем как обычный текст. При этом в стилях определено что, обычный // текст жирный, а ссылки нет и, в результате, пункт текущей страницы отображается без ссылки и выделен жирным echo "$nametag$nazvanie\r\n"; }else{ // иначе, как ссылку echo "$nametag<a href='$katalog$newnamefile'>$nazvanie</a>\r\n"; } } } ?> Сделав основные модули, над которыми придется трудиться движку, можно взяться за сам движок.
|