Шаблонизация вашего сайта с помощью Smarty
У большинства сайтов законченный внешний вид (дизайн). Хотя динамический контент в середине страницы может меняться, заголовок, навигационная строка и нижняя часть сайта остаются прежними. Чтобы добиться такого эффекта, существует несколько простых способов: от функции вывода заголовков до подключения файлов. В зависимости от размера вашего сайта, то или иное решение будет ра-ботать отлично, но чем больше становится ваш сайт, тем сложнее будет вносить изменения.
Наиболее признанным решением для шаблонизации является Smarty. Smarty позволяет создавать шаблоны с переменными. Другими словами, вы можете создать HTML-файл и указать размещение той или иной PHP-переменной. В дополнение к этому вы можете подключать в ваш шаблон другие Smarty-шаблоны, что позволит вам более эффективно организовать свой сайт и облегчит редактирование шаблона. Smarty также позволяет кэшировать данные, что ускорит доступ к вашему сайту, правда, данная особенность Smarty выходит за рамки этой книги.
Установка Smarty
Для установки Smarty на ваш сервер выполните следующие действия:
1. Создайте каталог на вашем сервере (в пределах корневого каталога Web-сервера) и назовите его smarty - здесь будут храниться основные файлы Smarty.
2. Загрузите Smarty и распакуйте архив в любой каталог локального компьютера.
3. Перенесите файлы Smarty с локального компьютера в каталог smarty на вашем сервере.
4. На вашем сервере создайте еще один каталог - templates, здесь будут храниться шаблоны Smarty. В этом каталоге нужно создать два подката-лога: html для «сырых» шаблонов и compile для уже «откомпилиро-ванных» шаблонов.
5. Подкаталог compile нужно сделать доступным для записи. Если вы не знаете, как это сделать, обратитесь к разделу «Права доступа к файлам».
6. В каталоге шаблонов (smarty) создайте (или загрузите) файл smarty_initialize .php со следующим содержимым:
<?php
define ("e;SMARTY_DIR"e;, "e;/path/to/web/root/smarty/"e;); require_once (SMARTY_DIR."e;Smarty.class.php"e;); $smarty = new Smarty;
$smarty->compile_dir = "e;/path/to/web/root/templates/compile"e;; $smarty->template_dir = "e;/path/to/web/root/templates/html"e;;
?>
|