Разработка сайтов, создание сайтов
главная / PHP / Дизайн сайта на PHP

Дизайн сайта на PHP

Как и у автора цитируемой статьи у меня та же проблема: как быстрее сменить дизайн на уже готовом сайте. Были перепробованы куча вариантов: поначалу создавался шаблон, впоследствии заполняемый содержимым, использовался SSI, и т.д. Каждый из методов имел свои недостатки, что соответственно приводило к новому решению проблемы.

Автор цитируемой статьи предлагает следующее (кстати часто используемое) решение: на сервере используется всего один файл, и в зависимости от передаваемых параметров в нем отображается различное содержание. Вызов осуществляется примерно следующим образом: http://www.server.ru/index.php?page=1.

Но у этого метода есть и недостатки. Самый существенный, многократно испытанный мной на собственной шкуре: при попытке сохранить страницы сайта браузер по умолчанию все страницы сайта предложит сохранить под одним именем. То есть для сохранения потребуется вводить имя файла самостоятельно. Каждый пытающийся сохранить страницы форума на компьютер знаком с этим явлением. Но у форумов своя специфика, а у моих сайтов своя. Как и автор вышеприведенной статьи я не претендую на первенство, метод создания страниц довольно прост, и наверняка многи известен. Мне пришлось помучиться пока я до него додумался, так что пишу в надежде что кому-то пригодиться.

Суть метода в следующем:
1. Создается каталог scripts в который помещается файл design.php. Этот файл и отвечает за рисование дизайна и вставку содержимого страниц. Например из отдельных файлов.

<?

echo "<html><head><title>$title</title>
$meta
</head><body>";

require("$page");

echo "</body></html>";

>?
2. В корневом каталоге создается файл файл template.php. Он может иметь примерно следующее содержание:
<?
# Информация о странице
$title=quot;Заголовок страницы";
$meta=<meta ... >

$page="txt/template.txt";

require("scripts/design.php");

?>
Первые строки определяют локальные переменные страницы, в том числе и переменную $page. По имени этой переменной файл scripts/design.php определяет в каком файле находится содержимое страницы. Хотя, конечно, имя этой переменной можно получить и из $PHP_SELF. Теперь этот файл копируем в index.php, links.php, about.php и во все остальные файлы которые должны лежать у вас на сайте, правим соответствующие переменные $title, $meta и пр. в каталоге txt создаем содержимое и жить хорошо!

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

 RewriteEngine on
RewriteRule ^(.*.php) /scripts/design.php
и на все запросы к серверу на файлы *.php будет вызываться /scripts/design.php.

Название файла содержится в $PHP_SELF. По значению этой переменной и определяются все особенности отображаемой страницы.

Вот и все. Хочу выразить благодарность безымянному автору давшему мне пищу для размышлений своей статьей. Может мне не повезло, но кроме этой статьи я ничего путного по данному вопросу не встречал. Его статья как раз бьет в цель, лишнее свидетельство тому ее: введите название в Яндексе и посмотрите сколько он выдаст ссылок. Причем опубликована эта статья даже без указания имени автора.

Источник: webonline.ru
текущее:

НОВОСТИ

2011 г., «VisMech.ru»