Joomla портал
seo seo Subscribe
seo
0
seo

Функции и возможности будущей CMS. Разработка шаблонизатора 159

$tpl->set_value (¦ LAST ·, $LAST) ;

$tpl»>set_value(‘REG_DATE’,$REG_DATE);

$tpl»>set__value (‘MESSAGES ·, $MESSAGES) ;

$tpl->set_value (· PERSONAL1, $PERSONAL) ;

// Запускаем парсинг шаблона

$tpl->tpl_parse();

// Выводим HTML

echo $tpl->html;

Рис. 13.2. Шаблонизатор в действии

Вот теперь полный порядок — из PHP-файла исключен HTML-код. Для

открытия шаблона применяется метод get_tpl(), а для установки значения

Шаблона— set_value(). Первый параметр метода— это имя переменной в

Шаблоне, а второй — значение этой переменной. Метод tpiparse выполняет

парсинг нашего шаблона. Все, что нам остается сделать, — это вывести уже

готовый HTML-код (рис. 13.2).

160

Часть IV. Разработка собственной CMS

Осталось рассмотреть только сам файл template.php (листинг 13.3).

// Класс шаблона

class template__class

{

var $values

var $html;

= array ();

// Переменные шаблона

// HTML-код

// Функция загрузки шаблона

function get__tpl($tpl_name)

{

if (empty ($tpl__name) II ! f ile__exists ($tpl__name))

{

return false;

}

else

{

$this->html = join(»,file($tpl_name));

}

// Функция установки значения

function set__value ($key, $var)

{

$key = · {· . $key . ·} · ;

$this->values[$key] = $var;

}

// Парсинг шаблона

function tpl_parse()

{

foreach($this->values as $find => $replace)

{

Гпава 13. Функции и возможности будущей CMS. Разработка шаблонизатора 161

$this->html = str_replace($find, $replace, $this->html);

}

}

}

// Экземпляр класса

$tpl e new template__class;

?>

Как видите, наш шаблонизатор примитивен. Весь парсинг шаблона

заключается в обычной замене строк вида {название_переменной} переданными

значениями. Но тем не менее нужно отметить, что шаблонизатор работает, а

большего нам и не надо.

Примечание

Файл template.php вы найдете на прилагаемом компакт-диске в каталоге

Glava 13.

Глава 14

Реализация

основных функций CMS

14.1. Разработка TPL-шаблона

В предыдущей главе мы разработали собственный шаблонизатор. Теперь

пора создать TPL-шаблон, чтобы испытать шаблонизатор в действии. Мы

создадим очень простой шаблон, содержащий мало HTML-кода, чтобы не

усложнять нашу задачу его разбором. То есть фактически у нашего сайта

дизайна не будет. В реальных условиях вам (или вашему дизайнеру) нужно

будет разработать TPL-шаблон на базе какой-нибудь HTML-страницы.

Чтобы вам было легче, на компакт-диске в каталоге design вы найдете много

различных бесплатных HTML-шаблонов — вы можете использовать их по

своему усмотрению.

Наш шаблон мы назовем page.tpl — это будет единственный шаблон для всех

страниц сайта. Шаблон page.tpl представлен в листинге 14.1.

{DESCRIPTION}

Гпава 14. Реализация основных функций CMS 163

{MENU} {PAGE}

{INFO}

Как видите, шаблон очень прост — он выводит таблицу, содержащую меню

и содержимое страницы. Назначение переменных шаблона следующее:

д { title } — заголовок сайта;

О {description} — описание (краткая информация о сайте);

О { menu } — иерархическое меню сайта;

О { page } — содержимое текущей страницы;

О {info}— некоторая информация, например информация об авторских

правах.

Вы можете добавить в шаблон свои переменные, но пока не стоит этого делать.

14.2. Файл настроек

Прежде чем приступить к написанию кода CMS, нам нужно создать файл

настроек. В нем будут содержаться почти постоянные данные (константы, если

хотите), например: имя сервера MySQL, имя базы данных, имя пользователя,

пароль, информация о сайте. Согласитесь, данная информация очень редко

изменяется.

Файл настроек назовем config.php — потом мы его будем подключать к

нашей CMS. Код этого файла приведен в листинге 14.2.

$dbhost = ‘localhost’; // Имя сервера БД

$dbname = »db\· // Имя БД

$dbuser = •user’; // Имя пользователя БД

Sdbpasswd = ‘password’; // Пароль пользователя

164

Часть IV. Разработка собственной CMS

II Информация о сайте

$title = ‘CMS ??.01′;

$description = ‘Описание сайта’;

$info = ‘&сору Денис Колисниченко’;

?>

14.3.

seo
5th Фев 2011
Теги:
seo

Написать ответ

seo
 
Все права защищены © 2023 Joomla портал
 
 
seo