Учебники

Grav — Twig Фильтры и функции

В этой главе давайте изучим фильтры и функции веток . Фильтры используются для форматирования данных так, как вы хотите, с требуемым выводом. Функции используются для генерации содержимого.

Шаблоны Twig — это текстовые файлы, которые содержат выражения и переменные, замененные значениями. Twig использует три типа тегов.

  • Выходные теги — следующий синтаксис используется для отображения здесь результата оцененных выражений.

Выходные теги — следующий синтаксис используется для отображения здесь результата оцененных выражений.

{{  Place Your Output Here  }}
  • Теги действий — следующий синтаксис используется для выполнения операторов здесь.

Теги действий — следующий синтаксис используется для выполнения операторов здесь.

{%  executable statements are placed here  %}
  • Теги комментариев — следующий синтаксис используется для записи комментариев в файл шаблона Twig.

Теги комментариев — следующий синтаксис используется для записи комментариев в файл шаблона Twig.

{#  write your comment here  #}

Twig Filters

Twig Filters использует | символ для применения фильтров к переменной Twig, за которым следует имя фильтра. Аргументы могут быть переданы в скобках аналогично функциям Twig.

В следующей таблице показаны фильтры Twig, используемые в Grav —

Sr.No. Фильтр и описание пример
1

Абсолютный URL

Он берет относительный путь и преобразует его в абсолютный URL.

'<img src="/some/path/img.jpg"/>' |absolute_url

преобразует в —

<img src="http://learn.getGrav.org/some/path/img.jpg" />
2

Camelize

Он преобразует строку в формат CamelCase.

'contact_us'| camelize

преобразует в —

ContactUs
3

Содержит

если он находит строку.

'This is some string' | contains('some')

выход —

1
4

определенный

Вы можете проверить, определена ли некоторая переменная или нет. Если переменная не определена, вы можете указать значение по умолчанию.

set header_image_width = 
page.header.header_image_width|defined(900)

Устанавливает header_image_width со значением 900, если оно не определено.

5

Завершает-С

Вы можете определить, заканчивается ли строка данной строкой, используя фильтр Ends-With.

'this is an example for ends-with filter' | ends_with('filter')

отображается как —

True
6

FieldName

Он фильтрует имя поля, изменяя точку в нотацию массива.

'field.name'|fieldName

отображается как —

field[name]
7

смягчать

Он используется для преобразования строки в читаемый человеком формат.

'some_text_to_read'|humanize

отображается как —

Some text to read
8

Ksort

Сортирует карту массива по ключу.

{% set ritems = {'orange':1, 'apple':2, 'peach':3}|ksort %}
{% for key, value in ritems %}{{ key }}:{{ value }}, {% endfor %}

отображается как —

apple:2, orange:1, peach:3,
9

Левая отделка

Он используется для удаления пробелов в начале строки и удаляет совпадающий символ, заданный с левой стороны строки.

'/strip/leading/slash/'|ltrim('/')

отображается как —

strip/leading/slash/
10

уценка

Он используется для преобразования строки, содержащей разметку, в HTML с помощью анализатора разметки Grav.

'## some text with markdown'|markdown

отображается как —

some text with markdown

11

MD5

Хэш md5 для строки может быть создан с помощью этого фильтра.

'something'|md5

отображается как —

437b930db84b8079c2dd804a71936b5f
12

Monthize

Используя фильтр Monthize, мы можем преобразовать целое число дней в количество месяцев.

'61'|monthize

отображается как —

2
13

Прекрасное время

Используя фильтр Nice Time, мы можем получить дату в удобном для человека формате времени в качестве вывода.

page.date|nicetime(false)

отображается как —

3 hrs ago
14

Ordinalize

Порядковые числа (например, 1- й , 2- й , 3- й ) могут быть переданы целым числам с помощью фильтра Ordinalize.

'78'| ordinalize

отображается как —

78th
15

образовывать множественное число

Строка может быть преобразована во множественную английскую форму с помощью фильтра Pluralize.

'child'|pluralize

отображается как —

children
16

Перемешайте

Этот фильтр помогает рандомизировать предоставленный список. Если параметр содержит какие-либо значения, то эти значения исключаются из рандомизации.

{% set ritems = ['one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten']|randomize(3) %}
{% for ritem in ritems %}{{ ritem }}, {% endfor %}

отображается как —

one, two, three, eight, six, five, nine, seven, ten, four,
17

Правая отделка

Он очень похож на левую обрезку, за исключением того, что удаляет пробелы и соответствующий символ с правой стороны строки.

'/strip/leading/slash/'|rtrim('/')

отображается как —

/strip/leading/slash
18

образовывать форму единственного числа

Строка может быть преобразована в английскую единственную версию с помощью фильтра Singular.

'vehicles'|singularize

отображается как —

vehicle
19

Безопасная электронная почта

Безопасный фильтр электронной почты используется для преобразования адреса электронной почты в символы ASCII, что затрудняет спам в письме.

"someoneemailaddress@domain.com"|safe_email

выход —

someoneemailaddress@domain.com
20

SortByKey

Используется для сортировки карты массива по ключам.

{% set people = [{'email':'john@gmail.com', 'id':3}, {'email':'melw@fdd.com', 'id':1}, {'email':'nancy@fb.com', 'id':7}]|sort_by_key('id') %}
{% for person in people %}{{ person.email }}:{{ person.id }}, {% endfor %}

это отображает —

melw@fdd.com:1, john@gmail.com:3, nancy@fb.com:7,
21

Начинается с

Вы можете определить, начинается ли строка с данной строки, используя фильтр Starts-With.

'this is an example for starts-with filter' |starts_with('this')

выход —

true
22

Переведите

для более подробной информации.

MY_LANGUAGE_KEY_STRING

это отображает —

'Some text in English'
23

Перевести админа

Он переводит строку на текущий язык, который установлен в файле user.yaml .

24

Titleize

Строка преобразуется в формат Case Title с помощью Titleize.

'welcome page'|titleize

это отображается как —

Welcome Page
25

UnderScoreize

формат с использованием фильтра UnderScoreize.

'ContactUs'|underscorize

он преобразуется в —

contact_us
26

Обрезать строку

Вы можете использовать усечение, чтобы усечь строку или сократить строку, вы должны указать количество символов.

'one sentence. two sentences'|truncate(5)

оно усекается до —

one s...

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

'one sentence. two sentences'|truncate(5, true)

оно усекается до —

one sentence

Вы также можете вырезать текст HTML, но вы должны использовать фильтр стриптагов перед фильтром усечения .

'<p>one <strong>sentence<strong>. two sentences</p>'|striptags|truncate(5)

это отображается как —

one s

Абсолютный URL

Он берет относительный путь и преобразует его в абсолютный URL.

преобразует в —

Camelize

Он преобразует строку в формат CamelCase.

преобразует в —

Содержит

если он находит строку.

выход —

определенный

Вы можете проверить, определена ли некоторая переменная или нет. Если переменная не определена, вы можете указать значение по умолчанию.

Устанавливает header_image_width со значением 900, если оно не определено.

Завершает-С

Вы можете определить, заканчивается ли строка данной строкой, используя фильтр Ends-With.

отображается как —

FieldName

Он фильтрует имя поля, изменяя точку в нотацию массива.

отображается как —

смягчать

Он используется для преобразования строки в читаемый человеком формат.

отображается как —

Ksort

Сортирует карту массива по ключу.

отображается как —

Левая отделка

Он используется для удаления пробелов в начале строки и удаляет совпадающий символ, заданный с левой стороны строки.

отображается как —

уценка

Он используется для преобразования строки, содержащей разметку, в HTML с помощью анализатора разметки Grav.

отображается как —

MD5

Хэш md5 для строки может быть создан с помощью этого фильтра.

отображается как —

Monthize

Используя фильтр Monthize, мы можем преобразовать целое число дней в количество месяцев.

отображается как —

Прекрасное время

Используя фильтр Nice Time, мы можем получить дату в удобном для человека формате времени в качестве вывода.

отображается как —

Ordinalize

Порядковые числа (например, 1- й , 2- й , 3- й ) могут быть переданы целым числам с помощью фильтра Ordinalize.

отображается как —

образовывать множественное число

Строка может быть преобразована во множественную английскую форму с помощью фильтра Pluralize.

отображается как —

Перемешайте

Этот фильтр помогает рандомизировать предоставленный список. Если параметр содержит какие-либо значения, то эти значения исключаются из рандомизации.

отображается как —

Правая отделка

Он очень похож на левую обрезку, за исключением того, что удаляет пробелы и соответствующий символ с правой стороны строки.

отображается как —

образовывать форму единственного числа

Строка может быть преобразована в английскую единственную версию с помощью фильтра Singular.

отображается как —

Безопасная электронная почта

Безопасный фильтр электронной почты используется для преобразования адреса электронной почты в символы ASCII, что затрудняет спам в письме.

выход —

SortByKey

Используется для сортировки карты массива по ключам.

это отображает —

Начинается с

Вы можете определить, начинается ли строка с данной строки, используя фильтр Starts-With.

выход —

Переведите

для более подробной информации.

это отображает —

Перевести админа

Он переводит строку на текущий язык, который установлен в файле user.yaml .

Titleize

Строка преобразуется в формат Case Title с помощью Titleize.

это отображается как —

UnderScoreize

формат с использованием фильтра UnderScoreize.

он преобразуется в —

Обрезать строку

Вы можете использовать усечение, чтобы усечь строку или сократить строку, вы должны указать количество символов.

оно усекается до —

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

оно усекается до —

это отображается как —

Функции веток

Функции веток напрямую вызываются путем передачи параметра. В следующей таблице перечислены функции —

массив

Эта функция приводит значение к массиву.

санкционировать

Эта функция делает авторизованного пользователя авторизованным для просмотра ресурса и принимает строку разрешения или массив строк разрешения.

свалка

Он принимает допустимую переменную ветки и выводит ее на панель отладчика Grav. Тем не менее, отладчик должен быть включен, чтобы увидеть значения вкладки сообщения.

отлаживать

Это работает так же, как функция dump ().

Суть

Эта функция создает код встраивания Gist на основе идентификатора Gistub Gist.

Генерация случайных строк

Эта функция создаст случайную строку с указанным количеством символов. Эти строки можно использовать как уникальный идентификатор или ключ.

Повторение

Эта функция будет повторять строку в течение заданного промежутка времени.

строка

Создает случайную строку указанной длины символа.

Перевести массив

Это функция, связанная с | та фильтром.

Вебсайт

Этот фильтр создаст URL, а также преобразует потоки URL PHP в действительные ресурсы HTML. Если URL не может быть разрешен, может быть передано значение по умолчанию.

Переведите

Используя фильтр Translate, строка переводится как | t фильтр.

переводится на —