Функции Twig⚓︎
Функции Twig вызываются непосредственно с любыми параметрами, передаваемыми через скобки.
array
⚓︎
Приводит значение к массиву:
array_diff
⚓︎
Вычисляет разницу массивов:
array_key_value
⚓︎
Позволяет добавить пару ключ/значение в ассоциированный массив:
{% set my_array = {fruit: 'apple'} %}
{% set my_array = array_key_value('meat','steak', my_array) %}
{{ print_r(my_array) }}
array_key_exists
⚓︎
Обертка для функции array_key_exists
PHP, которая проверяет, существует ли ключ в ассоциативном массиве или нет:
array_intersect
⚓︎
Функция array_intersect
обеспечивает пересечение двух массивов или коллекций Grav:
{% set array_1 = {fruit: 'apple', meat: 'steak'} %}
{% set array_2 = {fish: 'tuna', meat: 'steak'} %}
{{ print_r(array_intersect(array_1, array_2)) }}
array_unique
⚓︎
Обертка для PHP array_unique()
, которая удаляет дубликаты из массива:
authorize
⚓︎
Уполномочивает авторизованного пользователя на просмотр ресурса. Принимает одну строку разрешения или массив строк разрешений.
body_class
⚓︎
Берет массив классов, и если они не установлены на body_classes
, посмотрим, установлены ли они в текущей конфигурации темы.
{% set body_classes = body_class(['header-fixed', 'header-animated', 'header-dark', 'header-transparent', 'sticky-footer']) %}
cron
⚓︎
Создаёт объект "Cron" из синтаксиса cron:
dump
⚓︎
Берет корректную переменную Twig и выбрасывает её в панели отладчика Grav. Для просмотра значений на вкладке "Сообщения" отладчик должен быть включен.
debug
⚓︎
То же, что и dump()
evaluate
⚓︎
Функцию evaluate
можно использовать для анализа строки как Twig:
evaluate_twig
⚓︎
То же, что и evaluate
, но будет анализировать и обрабатывать с помощью Twig
exif
⚓︎
Вывод EXIF-данных с изображения на основе его файловой траектории. Для этого нужны эти "медиа": auto_metadata_exif: trueустановлен в
system.yaml`. Например, в шаблоне Twig:
{% set image = page.media['sample-image.jpg'] %}
{% set exif = exif(image.filepath, true) %}
{{ exif.MaxApertureValue }}
Это позволило бы записать в камеру значение MaxApertureValue
, например, "40/10". Вы всегда можете использовать {{dump(exif)}}
для отображения всех доступных данных в отладчике.
get_cookie
⚓︎
Восстановление значения куки-файла с помощью этой функции:
get_type
⚓︎
Получает тип переменной:
gist
⚓︎
Принимает Github Gist ID и создает соответствующий код для встраивания Gist:
header_var
⚓︎
Возвращает page.header.<variable>
.
ПРИМЕЧАНИЕ
Утратила актуальность с версии Grav 1.7. Следует использовать theme_var
.
Логика поиска переменной изменилась, что может привести к неожиданным результатам:
- Если в качестве второго параметра указан массив страниц поиска, то будет использована только первая страница.
- Если
<variable>
не определена в заголовке страницы, Grav будет искать переменную в дереве родителей страницы. - Если переменная не найдена, Grav будет искать её в конфигурационном файле темы
С учётом параметра в блоке метаданных
header_var('title')
Home
http_response_code
⚓︎
Если предоставлен код response_code, то будет возвращен предыдущий код статуса. Если код response_code не предоставлен, то будет возвращен код текущего состояния. Оба эти значения по умолчанию будут иметь код состояния 200, если они используются в среде веб-сервера.
isajaxrequest
⚓︎
Функция isajaxrequest()
может быть использована для проверки, установлена ли опция заголовка HTTP_X_REQUESTED_WITH
:
json_decode
⚓︎
Вы можете декодировать JSON, просто применив этот фильтр:
media_directory
⚓︎
Возвращает медиа-объект для произвольной директории. После получения изображениями можно манипулировать так же, как и страницами.
nicefilesize
⚓︎
Выводите размер файла в удобочитаемом для человека формате.
nicenumber
⚓︎
Вывод числа в удобочитаемом для человека формате красивых чисел.
nicetime
⚓︎
Вывод даты в удобочитаемом человеком формате времени.
nonce_field
⚓︎
Генерирует поле с кодом безопасности Grav для формы с требуемым action
:
of_type
⚓︎
Проверяет тип переменной на параметр:
pathinfo
⚓︎
Разбирает путь в массив:
Array
(
[dirname] => /www/htdocs/inc
[basename] => lib.inc.php
[extension] => php
[filename] => lib.inc
)
print_r
⚓︎
Печатает переменную в читаемом формате:
random_string
⚓︎
Сгенерирует произвольную строку из требуемого количества символов. Особенно полезно при создании уникального идентификатора или ключа.
unique_id
⚓︎
Генерирует случайную строку с настраиваемой длиной, префиксом и суффиксом. В отличие от встроенной функции PHP uniqid()
и утилиты random_string
, эта строка будет сгенерирована действительно уникальной.
{{ unique_id(9) }}
{{ unique_id(11, { prefix: 'user_' }) }}
{{ unique_id(13, { suffix: '.json' }) }}
range
⚓︎
Генерирует массив, содержащий ряд элементов, опционально ступенчатых
read_file
⚓︎
Простая функция для чтения файла на основе пути к файлу и его вывода.
# Стандартный плагин админки Grav
Это плагин **админки** для [Grav](https://github.com/getgrav/grav), он представляет собой HTML-интерфейс пользователя, который обеспечивает удобный способ настройки Grav, с возможностью легко создавать и изменять страницы....
redirect_me
⚓︎
Переадресация на URL-адрес по вашему выбору.
regex_filter
⚓︎
Выполняет preg_grep
на массиве с регрессионным паттерном:
regex_replace
⚓︎
Полезная обертка для PHP-функции preg_replace(), с помощью этого фильтра вы можете выполнять сложные regex-замены текста:
{{ regex_replace('The quick brown fox jumps over the lazy dog.', ['/quick/','/brown/','/fox/','/dog/'], ['slow','black','bear','turtle']) }}
regex_match
⚓︎
Полезная обертка для PHP-метода preg_match(), с помощью этого фильтра можно выполнить сложное сопоставление регулярных выражений с текстом:
regex_split
⚓︎
Полезная обертка для PHP-метода preg_split(). Разбиение строки регулярным выражением на текст с помощью этого фильтра:
repeat
⚓︎
Будет повторять всё, что передано, определенное количество раз.
string
⚓︎
Возвращает строку из значения. Если значение является массивом, верните его в кодировке json
svg_image
⚓︎
Возвращает содержимое SVG-изображения и добавляет дополнительные классы по мере необходимости. Обеспечивает преимущества встроенного svg без необходимости вставлять код непосредственно на страницу. Полезно для многократно используемых изображений, таких как значки социальных сетей.
strip_style
- удалить встроенный стиль SVG - полезно для стилизации с помощью CSS-классов.
пример:
theme_var
⚓︎
Получите переменную темы из заголовка страницы или, если она не найдена, из её родителя (родителей), из файла конфигурации темы или из значения по умолчанию, если оно указано:
Этот код сначала попытается получить значение page.header.grid-size
. Если оно не установлено, то будет осуществляться поиск вверх по дереву родительских элементов. Если и там ничего не найдётся, то будет сделана попытка получить значение theme.grid-size
из файла конфигурации темы.
При необходимости можно указать значение по умолчанию в качестве запасного варианта:
t
⚓︎
Переведите строку, как фильтр |t
.
ta
⚓︎
Функция, связанная с фильтром |ta
.
tl
⚓︎
Переводит строку на определённый язык. Для получения более подробной информации ознакомьтесь с документацией.
url
⚓︎
Создает URL и преобразует любые потоки PHP URL в полноценные HTML ресурсы. Значение по умолчанию может быть передано в случае, если URL не может быть разрешен.
vardump
⚓︎
Функция vardump()
выводит на экран текущую переменную (а не в отладчике, как в dump()
)
xss
⚓︎
Проверяет строку на наличие уязвимостей XSS: