По умолчанию Smarty представляет около 12 функций
Posted in: Конфигурационные файлы и функции, By: admin, At: Август 10th, 2008
Теперь, когда мы раскрыли и переменные, и их модификаторы в Smarty, давайте взглянем на некоторые другие возможности. Для начала посмотрим на функции Smarty и их применение в практических сценариях, основанных на шаблонах.
По умолчанию Smarty представляет около 12 функций, которые могут быть использованы в ваших шаблонах. Эти функции предоставляют шаблонам возможность использовать логику и другие управляющие структуры, такие как условия (операторы if), и другие полезные средства. В Smarty функции подобны модификаторам переменных в том смысле, что и те и другие имеют предопределенные параметры. Однако в отличие от модификаторов функции часто манипулируют блоками HTML-кода (такими как использование циклов для генерации строк таблицы).
Функции определяются в Smarty посредством заключения их в те же разделители, что и переменные. Однако для указания параметров вместо двоеточий применяются пробелы. Более того, если функция включает в себя блок кода, конец тако без параметров. Для начала давайте взглянем на простейшие функции Smarty. Эти функции предназначены для того, чтобы облегчить жизнь Web-дизайнеру за счет предоставления различных возможностей, помогающих в разработке шаблонов HTML. Первой функцией из числа рассмотренных будет (literal ],
Функция (literal) используется в Smarty для отметки сегмента вашего HTML-документа, который должен быть полностью проигнорирован, но отображен. Это важное средство при работе с языками клиентской стороны, такими как JavaScript, которые могут привести в замешательство Smarty при разборе (интерпретации). Эта функция не принимает параметров. Она просто “оборачивает” все, что Smarty должен игнорировать, так, как показано в листинге 7.12.
Листинг 7.12. Использование функции Smarty (literal)
(literal)
(/literal)
На заметку -
j
Подобным же образом, чтобы правильно отображать разделительные символы, не разрушая шаблона, Smarty предоставляет две функции (ldelim) и | rdelim). Эти две функции отобразят, соответственно, левый и правый разделители.
Всякий, кто имеет опыт работы с HTML, знает, что пробелы между дескрипторами часто заставляют разные браузеры интерпретировать один и тот же HTML-код слегка по-разному. В большинстве случаев эта разница настолько незначительна, что ее можно игнорировать. Однако иногда она становится существенной. К сожалению, удаление всех пробелов из HTML-документов делает их трудно читаемыми. Чтобы справиться с этой проблемой, Smarty предлагает функцию (strip), использование которой демонстрируется в листинге 7.15. Во время выполнения эта функция автоматически удаляет все ненужные пробелы из HTML-кода, чтобы i-арантировать, что он будет корректно отображаться во всех браузерах.
Листинг 7.13. Использование функции Smarty (strip)
(strip)
| flo6po пожаловатьТО> |
Вывод листинга 7.13 браузер будет интерпретировать следующим образом:
{inelude_php file=
где
Теперь, когда вы знакомы с простейшими функциями, которые предоставляет Smarty, давайте перейдем к более сложным. Большинство функций, о которых будет говориться, предназначены для реализации логики представления в ваших шаблонах. Конечно, когда поднимается тема логики, то недалеко и до условных выражений, поэтому мы начнем с функции (if). Ее синтаксис выглядит так;
(if
При работе с функциями Smarty любая переменная может быть специфицирована внутри контекста, заданного ограничителями без указания каких-либо дополнительных ограничителей. Например, когда используется функция (if), параметр
Leave a Reply