А это клавиатура, с помощью которой я творю...
http://kurepin.ru/php/slang.ru/15/
Rambler's Top100
Строим сайт slang.ru, глава 15

Строим сайт slang.ru

Глава 15. Натягиваем шкуру

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

По порядку...

Экспериментировать будем прямо на главной странице нашей строительной площадки - файлы brain.php и stomach.php в папке www.

Содержимое файла brain.php:



Как видите, ничего принципиально нового, мы это уже видели: подключаем класс, рождаем экземпляр, присваиваем заголовок (title) и указываем файл-желудок с содержимым страницы. Последней строкой идет самое главное - линкование шкуры, имя которой, как вы видите, формируется из данных, хранящихся в сессии. Если вы посмотрите главу, где мы тестировали сессию, то сразу вспомните - что хранится в ячейке user_skin массива $session. А хранится там слово 'default'. Которое и помогает нам прилинковать правильную шкуру.

Содержимое желудка в данном случае ничего интересного для нас не представляет, я записал в него вывод некоторых данных из сессии:



Теперь перейдем к самим шкурам и вспомним, что у нас не одна, а две шкуры - нормальная и перевернутая. Выкладывать будем обе, чтобы сразу проверить работоспособность механизма переворота.

Берем файл index.html, в который должны включаться данные перед показом пользователю, выкладываем его под именем default.php в папку inc и производим в нем ряд изменений.

<?
<title><?=$title?></title>
?>


Через эту переменную мы будем показывать заголовок текущей страницы.

<?
<area alt="повернуть" coords="10,8,60,45" href="/skin/reverse/?bp=<?=$_SERVER['REQUEST_URI']?>">
?>


Установили ссылку на кнопку переворота! Сразу рассказываю, как она работает. Это ссылка на web-страницу /skin/reverse/brain.php, которая содержит следующий код:



Читаем код: подключили файл класса init, создали экземпляр class_init, установили новое название скина в сессию пользователя, проверили содержимое переменной $bp и вызвали страницу, с которой посетитель обратился за сменой скина.

Через переменную $bp, как видно из приведенных фрагментов, передается путь к странице, на которой находился посетитель до того, как вызывать смену шкуры. Соответственно, на указанную страницу мы пользователя и возвращаем.

Если страница была вызвана без указания адреса возврата, то мы направляем пользователя на головную страницу сайта.

Ссылки навигации, которые присутствуют дважды (вверху и внизу страницы), я вырезал в отдельный файл, который назвал navigator.html и положил в ту же папку inc, чтобы не следить за ссылками во всех четырех местах (две шкуры по две навигации), а линковать навигацию просто как:

<?
include($my->path_inc.'/navigator.html');
?>


Ну и вставил в тело дизайна вызов желудка:

<?
include($stomach); 
?>


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

http://15.tutorial.slang.ru/ - наслаждайтесь!

Надеюсь, что принцип переворота сайта понятен: идет обращение к обычной php-странице, котрая ничего не выводит пользователю, а просто меняет содержимое ячейки массива $session и возвращает пользователя на предыдущую страницу. Все.

Привожу листинги трех файлов из папки inc:

default.php:



reverse.php:



navigator.html:



Ну вот и все на сегодня. Даешь новый день и свежий код!





[шаг назад] [печатать] [в начало сайта]



copyright ©2000-2017 Ruslan Kurepin