|
Рассмотрим схему построения веб-сайта с использованием файлов header и footer. В данном случае необходимо весь html-код, отвечающий за дизайн (оформление) страницы убрать во внешние файлы:
Ниже приведена типичная схема расположения элементов на веб-странице. В данном случае имеем логотип в левом верхнем углу, чуть правее баннер. Ниже слева расположено меню сайта, а справа основной текст. Внизу страницы (в «подвале») находятся различные счетчики посещений и информация о сайте.
Нашей задачей будет разбить html-код данной страницы на отдельные куски и наиболее часто используемые элементы дизайна разместить в отдельных файлах, которые будем подключать к странице с помощью функции Листинг 1
<html>
<head> <title>Title</title> </head> <body> <table width="100%" border="1"> <tr> <td width="200">Лого</td> <td>Баннер</td> </tr> <tr> <td>Меню</td> <td>Текст</td> </tr> <tr> <td>Счетчик</td> <td>Copyright</td> </tr> </table> </body> </html>
Здесь весь код, выделенный красным цветом, убираем в файл Листинг 2
<html>
<head> <title>Title</title> <? include('header.php')?> Текст <? include('footer.php')?>
Файлы Листинг 3 – header.php
</head>
<body> <table width="100%" border="1"> <tr> <td width="200">Лого</td> <td>Баннер</td> </tr> <tr> <td>Меню</td> <td> Листинг 4 – footer.php
</td>
</tr> <tr> <td>Счетчик</td> <td>Copyright</td> </tr> </table> </body> </html>
Примечание
Чаще всего бывает, что страницы сайта разложены по разным директориям, а файлы header и footer лежат, например, в корневой директории сайта. При этом директорий на сайте может быть много и они могут быть вложены друг в друга. Если на сайте есть несколько вложенных друг в друга директорий, то путь к файлам header и footer будет из этих директорий разный, т.к. чтобы попасть в корневую директорию нам придется подниматься на несколько уровней вверх в зависимости от степени вложенности директорий. Поэтому ссылки на файлы header и footer, которые нужно размещать на странице, будут выглядеть по-разному, в зависимости от того, в какой директории лежит данная страница. Чтобы избежать этого и на всех страницах указывать одинаковые ссылки нужно путь к файлам header и footer отсчитывать от корня диска, то есть вот так:Листинг 5
<? include ($_SERVER["DOCUMENT_ROOT"]."/header.php"); ?>
Создание версии страницы для печати
Для создания версии страницы для печати необходимо модифицировать (изменять) html-код, отвечающий за дизайн (оформление) страницы. Весь html-код, отвечающий за оформление страницы, в данном примере располагается в файлах Будем проверять следующее условие:
Для вывода версии страницы для печати запрос к нашей странице будет выглядеть следующим образом: Листинг 6
http://www.site.ru/page.php?print=yes
Листинг 7 – header.php и footer.php
<? if(@$_GET['print'] == 'yes') { ?>
HTML-код варианта оформления страницы для печати <? } else { ?> HTML-код обычного варианта оформления страницы <? } ?>
Примечание
Символ "@" перед $_GET['print'] необходим для «подавления» вывода сообщения об ошибке в том случае, если данный элемент массива не существует
Изменение элементов оформления страницы
В данном примере весь html-код, отвечающий за оформление страницы, убран в отдельные файлы (в файлы Листинг 8
<html>
<head> <title>Title</title> <? $punkt_menu = "1" include('header.php') ?> Текст <? include('footer.php')?>
А на странице Листинг 9 – header.php или footer.php
...
HTML-код ... <? if(@$punkt_menu == '1') { ?> HTML-код #1 <? } else { ?> HTML-код #2 <? } ?> ... HTML-код ...
Примечание
Символ "@" перед переменной $punkt_menu необходим для «подавления» вывода сообщения об ошибке в том случае, если данная переменная не существует.
Примеры сайтов
|