Jump to content

Введение в синтаксис шаблонов

В Invision Community шаблоны являются "прямого вида", то есть как данные на экран отображаются те же, что и представлены в шаблоне. Таким образом, основной HTML, который находится в шаблоне в оригинальном виде отправляется в браузер. В комплексном приложении нам необходимо принимать решение о том, что будет отображено.

Эти решения могут быть потенциально сделаны в PHP бэкэнде, но это не подходит в большинстве случаев; бэкэнд должен быть ориентирован на обработку данных, в то время как шаблоны контролируют отображение данных пользователю.

HTML логика позволяет нам принимать эти решения в наших шаблонах. То есть смешивая стандартный HTML код с некоторыми специальными тегами и операторами управления данными, большинство из которых очень похожи на PHP.

Какие еще особенности есть у шаблонов?

В одном шаблоне мы можем иметь логику, отображающую определённый HTML код в зависимости от выполнения определённого условия. Мы также можем создавать циклы данных, уменьшая повторы. К тому же в шаблонах можно использовать специальные теги, которые отображают плагины, преобразовывая их данные (например отображение даты из timestamp). 

Основной синтаксис

Существует три основных типа синтаксиса, каждому из которых мы посвятим отдельную инструкцию.

Логические теги
Обрамляются двойными фигурными скобками. Контролируют поток данных в шаблоне. В этих тегах выражения могут быть любыми PHP выражениями. Например:

/* Основная структура */
{{if $condition}} ... {{else}} ... {{endif}}

/* Примеры других выражений */
{{if !$condition}}
{{if ( $color == 'green' && $size == 'big' ) || $condition}}
{{if count( $value ) > 2}}

 

Переменные

Заключаются в одинарные фигурные скобки. Выводят значения, переданные в шаблон (или значения из других источников, например циклов).

{$value}

 

Данные из плагинов
Передают данные через специальный плагин.

{pluginName="value"}