![]() |
![]() |
| http://kurepin.ru/php/slang.ru/15/ |
|
Строим сайт Глава 15. Натягиваем шкуру Разобравшись с дизайном, можно натянуть готовую шкуру на сайт. Собственно, чего там натягивать - выложить файл на диск - вот и все дела. Давайте без лишних слов (про дизайн и принцип его натяжки было сказано уже немало) произведем это магическое действо. По порядку... Экспериментировать будем прямо на главной странице нашей строительной площадки - файлы brain.php и stomach.php в папке www. Содержимое файла brain.php:
highlight_file('/opt/www/slang.ru/tutorial/15/www/brain.php'); ?>
Как видите, ничего принципиально нового, мы это уже видели: подключаем класс, рождаем экземпляр, присваиваем заголовок (title) и указываем файл-желудок с содержимым страницы. Последней строкой идет самое главное - линкование шкуры, имя которой, как вы видите, формируется из данных, хранящихся в сессии. Если вы посмотрите главу, где мы тестировали сессию, то сразу вспомните - что хранится в ячейке user_skin массива $session. А хранится там слово 'default'. Которое и помогает нам прилинковать правильную шкуру. Содержимое желудка в данном случае ничего интересного для нас не представляет, я записал в него вывод некоторых данных из сессии:
highlight_file('/opt/www/slang.ru/tutorial/15/www/stomach.php'); ?>
Теперь перейдем к самим шкурам и вспомним, что у нас не одна, а две шкуры - нормальная и перевернутая. Выкладывать будем обе, чтобы сразу проверить работоспособность механизма переворота. Берем файл , в который должны включаться данные перед показом пользователю, выкладываем его под именем default.php в папку inc и производим в нем ряд изменений.
=$title?>
?>');?>
Через эту переменную мы будем показывать заголовок текущей страницы.
">
?>');?>
Установили ссылку на кнопку переворота! Сразу рассказываю, как она работает. Это ссылка на web-страницу /skin/reverse/brain.php, которая содержит следующий код:
highlight_file('/opt/www/slang.ru/tutorial/15/www/skin/reverse/brain.php'); ?>
Читаем код: подключили файл класса init, создали экземпляр class_init, установили новое название скина в сессию пользователя, проверили содержимое переменной $bp и вызвали страницу, с которой посетитель обратился за сменой скина. Через переменную $bp, как видно из приведенных фрагментов, передается путь к странице, на которой находился посетитель до того, как вызывать смену шкуры. Соответственно, на указанную страницу мы пользователя и возвращаем. Если страница была вызвана без указания адреса возврата, то мы направляем пользователя на головную страницу сайта. Ссылки навигации, которые присутствуют дважды (вверху и внизу страницы), я вырезал в отдельный файл, который назвал navigator.html и положил в ту же папку inc, чтобы не следить за ссылками во всех четырех местах (две шкуры по две навигации), а линковать навигацию просто как:
path_inc.\'/navigator.html\');
?>');?>
Ну и вставил в тело дизайна вызов желудка:
');?>
Вот и все, пожалуй, что потребовалось для натягивания дизайна. Весь процесс занял несколько минут. Теперь можно произвести ту же самую операцию для перевернутого дизайна, чтобы получить новый экземпляр сайта с действующей функцией переворота: - наслаждайтесь! Надеюсь, что принцип переворота сайта понятен: идет обращение к обычной php-странице, котрая ничего не выводит пользователю, а просто меняет содержимое ячейки массива $session и возвращает пользователя на предыдущую страницу. Все. Привожу листинги трех файлов из папки inc: default.php:
highlight_file('/opt/www/slang.ru/tutorial/15/inc/default.php'); ?>
reverse.php:
highlight_file('/opt/www/slang.ru/tutorial/15/inc/reverse.php'); ?>
navigator.html:
highlight_file('/opt/www/slang.ru/tutorial/15/inc/navigator.html'); ?>
Ну вот и все на сегодня. Даешь новый день и свежий код! 01.09.04 |
| реклама на сайте | ||||
|
| copyright ©2000-2002 Ruslan Kurepin |