52568.fb2
{* этот пример не будет работать,
поскольку не поставлены
пробелы вокруг операторов сравнения *}
{if $name=="Вася" || $name=="Петя"}
...
{/if}
Решение задачи с помощью шаблонов Smarty
Теперь, после знакомства с основными конструкциями Smarty, мы можем попытаться решить задачу отображения списка документов. Шаблон списка будет выглядеть следующим образом:
{* Smarty template index.tpl *}
{config_load file="task.conf" }
<html>
<head><title>{#pageTitle#}</title>
</head>
<body>
<ol>
{section name=art loop=$title}
<li><a href="{$fulltext[art]}">
{$title[art]}</a>
({$author[art]})
<br> <p> {$abstract[art]}
{/section}
</ol>
</body>
</html>
В файле конфигурации task.conf будем хранить название страницы и параметры для доступа к базе данных:
# глобальные переменные
pageTitle = "List of documents"
[Customer]
pageTitle = "Список статей"
[Database]
host=localhost
db=book
user=nina
pass=123
Скрипт (index.php), обрабатывающий написанный нами шаблон, может выглядеть таким образом:
Как вы, скорее всего, заметили, программа получилась еще более громоздкой, чем в первых двух случаях, когда использовалась простая замена значений и шаблоны FastTemplate. Действительно, механизм Smarty гораздо более сложен, чем тот же FastTemplate, но зато и более функционален.
Заключение
Итак, в этой лекции было рассказано о том, что такое шаблоны и как их можно использовать при программировании web-приложений на языке PHP. Мы рассмотрели три способа решения задачи отображения сложного списка документов: с помощью функции регулярной замены, с помощью класса шаблонов FastTemplate и с помощью языка шаблонов Smarty. При этом мы познакомились с основными свойствами, методами и функциями классов FastTemplate и Smarty.
1. Савельева Н.В.
Интернет-университет информационных технологий - ИНТУИТ.ру, 2005
2. Анисимов А.Е., Пупышев В.В.
БИНОМ. Лаборатория знаний, Интернет-университет информационных технологий - ИНТУИТ.ру, 2006
3. Непейвода Н.Н.