Использование функции Smarty (include)
Posted in: Конфигурационные файлы и функции, By: admin, At: Август 5th, 2008
В этом случае мы используем переменную шаблона f$template) в условном выражении. Когда вы имеете дело с условиями в Smarty, они могут быть настолько простыми или настолько сложными, как вы пожелаете, и работать идентично аналогам из РНР.
Другой пример удобной функции Smarty — (include). Эта функция используется для включения другого файла шаблона точно таким же образом, как это делают операторы включения файлов в РНР-сценариях. Синтаксис функции (include) выглядит следующим образом:
(include file=
где
Листинг 7.15. Использование функции Smarty (include)
{include file=header.tpl title=”3ai4^0BOK Web-страницы”)
HA 3AMETKV -
Шаблоны, загруженные с помощью функции (include) кэшируются, если кэширование Smarty включено. Чтобы загрузить файл в текущий шабпон без кэширования, в Smarty предусмотрена функция {insert). Эта функция идентична {include} во всем, за исключением того, что она никогда не кэшируетея.
Если вы хотите перехватить содержимое, которое обычно должно отображаться, с помощью функции (include), вы можете применить параметр assign для того, чтобы сохранить этот вывод в переменной шаблона (например, assign=foo создаст переменную ($foo) с содержимым файла).
Когда вы разрабатываете шаблоны, возможность просто выполнять повторяющиеся задачи может дать реальную экономию времени (особенно при создании таких элементов, как HTML-таблицы). Smai ty предлагает два способа выполнять повторяющиеся задачи — с помощью функций (section) и ( foreach). Обе функции используют переменную-масс и в шаблона и позволяют в цикле проходить, соответственно, по целочисленным и ассоциативным массивам. Начнем с массива, индексированного целыми числами, рассмотрев синтаксис функции {section}:section name=
loop=
[start=
[step=
[max=
[show=[show_boolean]}
… Содержимое, no которому организуется цикл … ((sectionelse)]
… Содержимое, которое должно отображаться, когда элементы для цикла
исчерпаны
{/section}
где
НА ЗАМЕТКУ
Если параметр show функции (section) равен true, то сегмент (sectionelse) будет по-прежнему отображаться.
Когда вы используете функцию (section), в вашем распоряжении находится множество переменных, которые содержат информацию относительно текущего состояния функции. Поскольку в большинстве случаев вы будете использовать эту функцию для отображения форматированного содержимого массива, индексированного целыми числами, давайте посмотрим, как отображается индивидуальный элемент. Как вы знаете, отображение индивидуального элемента массива выполняется обычно добавлением к имени переменной массива квадратных скобок [], содержащих необходимый целочисленный индекс. Когда вы работаете с разделами, вместо жесткого кодирования целочисленных индексов используйте строку, указанную в параметре name, переданном при вызове функции. Это проиллюстрировано в листинге 7.16, где содержимое массива {Smyarray} отображается в таблице.
Leave a Reply