$tmpl .= $li_tmpl;
$tmpl = str_replace('<!title>',
mysql_result($q,$i,'title'),$tmpl);
$tmpl = str_replace('<!author>',
mysql_result($q,$i,'author'),$tmpl);
$tmpl = str_replace('<!abstract>',
mysql_result($q,$i,'abstract'),$tmpl);
$tmpl = str_replace('<!fulltext>',
mysql_result($q,$i,'fulltext'),$tmpl);
}
echo $tmpl;
?>
Если шаблон был такой, как приведен выше, то получим примерно следующее.
Введение в PHP (Савельева Н.В.)
Лекция дает представление о том, что такое язык PHP, для чего он создавался изначально и как используется теперь, какими возможностями обладает.
Установка и настройка ПО (Иванов Иван)
Рекомендации по установке и настройке web-сервера и интерпретатора PHP
В принципе метод достаточно прост и удобен, но требует дополнительных усилий программиста при возникновении задач более сложных, чем простая подстановка значений. Для решения задач, где требуется делать подстановку целых блоков или даже проверять условия, создают классы шаблонов, такие как FastTemplate и Smarty. Обсудим их подробнее.
Шаблоны FastTemplate
FastTemplate - это набор классов, позволяющих реализовать работу с шаблонами. Логику добавить в шаблон FastTemplate нельзя, вся она должна находиться в коде программы. Идея работы шаблонов FastTemplate заключается в том, что любая большая страница состоит из множества кусочков, самые маленькие из которых - обычные строки текста, и они получают имя и значение.
Что представляет собой файл шаблона FastTemplate? Это обычный html-файл, в котором могут встречаться переменные особого вида, впоследствии обрабатываемые методами класса FastTemplate.
Синтаксис переменных в шаблонах FastTemplate описывается следующим выражением: {([A-Z0- 9_]+)}
Это значит, что переменная должна начинаться с фигурной скобки '{'. Второй и последующие символы должны быть буквами верхнего регистра от A до Z, цифрами или символами подчеркивания. Переменная вычисляется с помощью закрывающей фигурной скобки '}'.
{TITLE}
{AUTH20}
{TOP_OF_PAGE}
Как уже было сказано, основная идея FastTemplate - создание страницы с помощью вложенных шаблонов. Например, для решения нашей задачи можно создать три файла шаблона:
<html>
<head><title>{TITLE_}</title>
</head>
<body>
{MAIN}
</body>
</html>
<ul>
{LIST_ELEMENT}
</ul>
<li><a href='{FULLTEXT}'>{TITLE}</a>
({AUTHOR})
<br> <p> {ABSTRACT}
Шаблоны мы создали - работу дизайнера выполнили. Теперь нужно научиться их обрабатывать, т.е. выполнить работу программиста. Сейчас создадим программу для обработки приведенных выше шаблонов.
Перед началом работы с шаблонами FastTemplate нужно подключить этот набор классов к нашей программе. В реальной жизни набор классов FastTemplate записан в один файл, как правило, с названием class.FastTemplate.php3, поэтому подключить его можно, например, с помощью команды:
include('class.FastTemplate.php3');
Следующий важный шаг - это создание объекта класса FastTemplate, с которым впоследствии мы будем работать:
$tpl = new FastTemplate(
'/path/to/templates');
В качестве параметра передается путь к месту, где находятся наши шаблоны.
Далее необходимо изучить методы, которые можно применять к созданному объекту класса FastTemplate. Параллельно обратим внимание, как их можно использовать для решения нашей задачи.
Для работы с FastTemplate нужно знать четыре основных метода: define, assign, parse и FastPrint.