Liquid — различия между версиями
Материал из Insales Wiki
As (обсуждение | вклад) (→Цикл For) |
As (обсуждение | вклад) (→Цикл For) |
||
Строка 80: | Строка 80: | ||
При обходе массива доступны дополнительные переменные: | При обходе массива доступны дополнительные переменные: | ||
+ | |||
+ | forloop.length # => количество элементов в массиве | ||
+ | forloop.index # => номер текущей итерации | ||
+ | forloop.index0 # => номер текущей итерации (считая от нуля) | ||
+ | forloop.rindex # => сколько элементов осталось | ||
+ | forloop.rindex0 # => сколько элементов осталось (считая от нуля) | ||
+ | forloop.first # => первая итерация? | ||
+ | forloop.last # => последняя итерация? | ||
=== Таблицы === | === Таблицы === | ||
=== Переменные === | === Переменные === |
Версия 21:40, 8 апреля 2009
Содержание
Введение
Liquid - простой и в тоже время очень гибкий язык для создания шаблонов. В нем два типа разметки: Вывод данных и Тег. Полную документацию на английском языке можно посмотреть тут - http://www.liquidmarkup.org.
- Вывод данных
{{ 'hello world!' }}
- Теги
{% for item in array %}
Вывод данных
Пример вывода данных:
Привет, {{ name }}!
Привет, {{ user.name }}!
Привет, {{ 'Имярек' }}!
Фильтры
Фильтры - это набор функций, которыми можно преобразовать вывод данных, например:
Привет, {{ name | upcase }}!
В слове 'магазин' {{ 'магазин' | length }} букв
{{ product.sale_price | money }}
Список стандартных фильтров
- capitalize – сделать первую букву строки заглавной
- date – преобразовать дату в нужный формат
- downcase – привести строку к нижнему регистру
- first – вернуть первый элемент массива
- join – соединить элементы массива в строку
- last – вернуть последний элемент массива
- size – вернуть размер массива или строки
- sort – отсортировать массив
- strip_html – вырезать html-теги
- truncate – обрезать строку до x символов
- upcase – привести строку к верхнему регистру
Теги
Теги используются для управления выводом шаблоне.
Комментарии
{% comment %} закомментированный текст {% endcomment %}
Условия if / else
{% if user %} Привет {{ user.name }} {% endif %}
Цикл For
Цикл для обхода массивов
{% for item in array %} {{ item }} {% endfor %}
При обходе массива доступны дополнительные переменные:
forloop.length # => количество элементов в массиве forloop.index # => номер текущей итерации forloop.index0 # => номер текущей итерации (считая от нуля) forloop.rindex # => сколько элементов осталось forloop.rindex0 # => сколько элементов осталось (считая от нуля) forloop.first # => первая итерация? forloop.last # => последняя итерация?