Главная
Новости
Статьи и обзоры
Горожанин
Обнинск в Internet
Web Design
Hardware
Software
Безопасность
Серфинг
Игродром
Relax
Технологии
Web-обзор
Интернет-ликбез
Опросник
УП-Технологии
ART.net
Ссылки
Архив
О нас
Контакты
Форумы
Основатель: К.Николаенко
Главный Редактор: С.Коротков
Web Design: Neutron
|
|
= Web-Дизайн =
ВЕБ-САЙТ: СБОРКА ПО КИРПИЧИКАМ
Матвей Хорошилов lightnet@obninsk.ru
взято с www.iworld.ru
ВАРИАНТ 2. ДИНАМИЧЕСКАЯ СТРУКТУРА
Задача - сделать сайт с функциями динамической структуры данных.
В этом примере мы ближе подойдем к основной задаче - создать сайт на основе темплейта. Вид основной странички (index.php) изменился незначительно:
Дело в том, что все самое интересное спрятано в файле func.php (см. листинг), который подключается в первой же строчке скрипта. Файл func.php состоит из двух частей. В первой определяются значения переменных, которые понадобятся в дальнейшем, а во второй содержится описание функции text, выполняющей вставку изменяемого текста. В данном простейшем примере нам понадобилась единственная переменная $text_path, задающая путь к каталогу, из которого функция text будет брать файлы.
Может возникнуть естественный вопрос: а как же функция text определит, какой файл следует вставить? Ведь мы создаем многостраничный сайт. Для доступа ко всем страницам используем файл index.php, а для указания, какой информацией наполнить страницу, служит параметр page, передаваемый в формате CGI-запроса, например, index.php?page=news - для ссылки на страницу с новостями или index?php=photo - для странички с фотоальбомом и т.д. Если имя раздела не было задано, или указанной страницы не существует, выводится текст из файла index.txt.
Таким образом мы избавились от необходимости создавать для каждой страницы нашего сайта отдельный файл, как это было в первом примере. Но пока структуре нашего сайта не хватает гибкости. HTML-код, определяющий, как будет выглядеть страница, разбросан по отдельным файлам-фрагментам, и изменение дизайна сайта может стать большой проблемой.
Листинг. Файл func.php
<?php
$text_path = "text/" // Каталог с текстами
// Вставка блока основного текста соответственно параметру $page
function text() {
if ($page == "news") {include ($text_path."news.txt");}
elseif ($page == "photo") {include ($text_path."photo.txt");}
// ...
else {include ($text_path."index");}
{
// вывод навигационного меню без ссылки на страницу $page
function menu() {
if ($page != "") {echo ("<a href=`index.php`>Главная</a><br>");}
elseif ($page != "news"){echo ("<a href=`index.php?page=news`>Новости</a>");}
elseif ($page != "photo") {echo ("<a href=`index.php?page"=photo`>Галерея</a>);}
// ...
{
// Вывод блока кратких новостей (если мы не на основной новостной странице)
function news () {
if ($page != "news") {include ($text_path."shortnews.txt");}
else {banner ();}
{
?>
Продолжение следует.
|
|