Справочник доступных Twig-фильтров В шаблонах доступна большая часть стандартных фильтров, а также некоторые специальные фильтры. Общий перечень доступных фильтров приведен в статье. false W3sidGl0bGUiOiLQkNCy0YLQvtC80LDRgtC40LfQsNGG0LjRjyIsInVybCI6Ii9kZXZlbG9wZXJzL2F1dG9tYXRpb24vIn0seyJ0aXRsZSI6IlR3aWct0YjQsNCx0LvQvtC90YsiLCJ1cmwiOiIvZGV2ZWxvcGVycy9hdXRvbWF0aW9uL3R3aWcvIn1d Автоматизация /developers/automation/ ["developers","Автоматизация"] ["developers","Автоматизация","Twig-шаблоны"] developers

Справочник доступных Twig-фильтров

В шаблонах доступна большая часть стандартных фильтров, а также некоторые специальные фильтры. Общий перечень доступных фильтров приведен в статье.

Фильтры можно применять к переменным через вертикальную черту. Примеры использования фильтров:

{{ name|striptags|title }}
{{ list|join(', ') }}

В шаблонах доступна большая часть стандартных фильтров, а также некоторые специальные фильтры. Общий перечень доступных фильтров приведен ниже.

НазваниеОписание
absПолучение абсолютного значения (модуля) числа
avatar_urlВозвращает URL фотографии пользователя (тип User) либо клиента (тип Customer)
Если фотография не задана или объект имеет другой тип, будет возвращена пустая строка.
batchПреобразование списка в двумерный список с равным количеством элементов
capitalizeПолучение строки, у которой первая буква преобразуется в верхний регистр
dateПреобразование даты в строку в указанном формате
order.createdAt|date("d.m.Y") # Дата оформления заказа в формате дд.мм.гггг
"now"|date("d.m.Y H:i") # Текущая дата в формате дд.мм.гггг чч:мм
date_modifyИзменение даты (например, увеличение на один день)
defaultВозвращает переданное значение в случае, если переменная не определена или пустая
escapeЭкранирование символов в указанном формате
filterФильтрует элементы последовательности или ассоциативного массива с помощью arrow-функции
firstПолучение первого элемента в массиве
formatЗаменяет символы %s в строке переданными значениями
joinФормирует строку из массива путем соединения элементов массива и добавляя разделитель между ними
json_encodeСоздает JSON из переменной
is_subscribedВозвращает флаг подписки клиента (тип Customer) на указанный канал (email, sms или waba).
{% if customer|is_subscribed('sms') %}
    Вы подписаны на наши SMS рассылки
{% endif %}
Так же есть возможность проверить подписку на конкретную категорию подписок в канале, передав код категории подписки в качестве 3-его аргумента.
{% if customer|is_subscribed('email', 'news') %}
    Вы подписаны на наши новостные Email рассылки
{% endif %}
keysВозвращает ключи массива
lastПолучение последнего элемента в массиве
lengthПолучение длины массива либо строки
lowerПреобразование всех символов строки в нижний регистр
mergeСоединение массива с другим массивом
nl2brЗаменяет переносы строки на html-тег <br>
number_formatФорматирование числа
rawПолучение значения в том виде, в каком они есть (без экранирования)
replaceЗаменяет одни подстроки на другие
reverseИнвертирует порядок значений в массиве либо символов в строке
roundОкругляет число до заданной точности
sliceОбрезание массива в указанных рамках
sortСортировка массива
splitРазбивает строку на подстроки переданным разделителем
striptagsУдаление html-тегов
titleПолучение строки, в которой каждое слово начинается с большой буквы
trimУдаление пробельных (или других) символов из начала и конца строки
truncateОбрезает строку до заданной длины
upperИзменяет регистр всех символов строки на верхний
url_encodeКодирует строку как URL-сегмент
ru_currencyФорматирует число в денежный формат
{{ 12345.12|ru_currency }} # 12 345,12 ₽
{{ 5235.00|ru_currency('number') }} # 5 235
{{ 5235.00|ru_currency('number', false) }} # 5 235,00 - Выведет сумму, не удаляя нули в копейках
{{ 12345.12|ru_currency('words') }} # Двенадцать тысяч триста сорок пять рублей 12 копеек
{{ order.totalSumm|ru_currency }} # Выведет сумму заказа в денежном формате вида 12 345,12 ₽
{% set sum = order.totalSumm|ru_currency('parted') %} # Вернет массив из двух элементов. Элемент с ключом 'integer' содержит целую часть суммы, элемент 'fractional' - дробную
custom_fieldВыводит значение указанного пользовательского поля из заказа или клиента
{{ order|custom_field('transaction_id') }} # Выведет значение пользовательского поля заказа с кодом "transaction_id"
{{ customer|custom_field('birthday') }} # Выведет значение пользовательского поля клиента с кодом "birthday"
international_phoneФорматирование строки в телефонный формат с символом + и международным кодом вначале с удалением лишних символов
{{ "8 (926) 123-45-67"|international_phone }} # выведет +79261234567
{{ "(926) 123-45-67"|international_phone }} # выведет +79261234567
{{ "7926123-45-67"|international_phone }} # выведет +79261234567
{{ "044 123 45 67"|international_phone('UA') }} # выведет +380441234567
{{ order.phone|international_phone }}
priceФорматирует число в денежный формат, подставляя обозначение валюты.
Параметры фильтра:
classes – класс, который будет добавлен к блоку с обозначение валюты
code – код валюты; если не указан, производится попытка определить валюту поля, к которому применен фильтр, в противном случае используется валюта по умолчанию
stripZero – при значение false будут выводиться нули в копейках
{{ order.totalSumm|price }} # 12 345 ₽
{{ order.totalSumm|price(stripZero=false) }} # 12 345,00 ₽
{{ order.totalSumm|price }} # $ 12 345
{{ order.totalSumm|price(stripZero=false) }} # $ 12 345,00
price_rangeФорматирует диапазон чисел в денежный формат, подставляя обозначение валюты
numeric_declensionВывод слова с нужным склонением в соответствии с числом
{{ 1|numeric_declension("сум/ка/ки/ок") }} # 1 сумка
{{ 2|numeric_declension("сум/ка/ки/ок") }} # 2 сумки
{{ 15|numeric_declension("сум/ка/ки/ок") }} # 15 сумок
{{ 15|numeric_declension("сум/ка/ки/ок", false) }} # сумок
number_to_wordsВыводит число прописью
{{ 12345.12|number_to_words }} # Двенадцать тысяч триста сорок пять
buying_withВозвращает рекомендованные торговые предложения (Offer) из серии «Также покупают». Позволяет получать до 30 торговых предложений (по умолчанию 6).
# Получаем и выводим название 10 рекомендованных торговых предложений для товаров в заказе order
{% for item in order|buying_with(10) %}
  {{ item.name }}
{% endfor %}

# Получаем и выводим название 6 рекомендованных торговых предложений для первого товара в заказе order
{% for item in order.orderProducts|first|buying_with(6) %}
  {{ item.name }}
{% endfor %}
Вторым параметром можно передать название сервиса рекомендаций
Если параметр не указан, то используется сервис default, отображающий рекомендации на основе данных системы.
# Получаем от сервиса RetailRocket 3 рекомендованных торговых предложения и выводим их названия
{% for item in order|buying_with(3, 'retailrocket') %}
  {{ item.name }}
{% endfor %}
analogsВозвращает торговые предложения (Offer) из серии «Аналоги». Позволяет получать до 30 торговых предложений (по умолчанию 6).
# Получаем и выводим название 3 торговых предложения-аналога для товаров в заказе order
{% for item in order|analogs(3) %}
  {{ item.name }}
{% endfor %} # Получаем и выводим название 6 торговых предложений-аналогов для первого товара в заказе order {% for item in order.orderProducts|first|analogs %} {{ item.name }} {% endfor %}
Вторым параметром можно передать название сервиса рекомендаций
Если параметр не указан, то используется сервис default, отображающий рекомендации на основе данных системы.
# Получаем от сервиса RetailRocket 3 торговых предложения-аналога и выводим их названия
{% for item in order|analogs(3, 'retailrocket') %}
  {{ item.name }}
{% endfor %}
accompanyingDEPRECATED Используйте buying_with(3, 'retailrocket')
recommendationsВозвращает рекомендованные торговые предложения (Offer) из серии, указанной первым параметром. Позволяет получать до 30 торговых предложений (по умолчанию 6).
# Получаем и выводим название 6 рекомендованных торговых предложений из серии "upsell" для товаров в заказе order
{% for item in order|recommendations('upsell') %}
  {{ item.name }}
{% endfor %}

# Получаем и выводим название 6 рекомендованных торговых предложений из серии "analogs" для первого товара в заказе order
{% for item in order.orderProducts|first|recommendations('analogs') %}
  {{ item.name }}
{% endfor %}
Вторым параметром можно передать количество торговых предложений
# Получаем 10 рекомендованных торговых предложения из серии "upsell" и выводим их названия
{% for item in order|recommendations('upsell', 10) %}
  {{ item.name }}
{% endfor %}
quantityФорматирует количество согласно настройкам системы (целое/дробное)
offer_propertiesВозвращает массив свойств торгового предложения
array(
  code => array(
    name  =>
    code  =>
    value =>
  )
)

{% for orderProduct in order.availableOrderProducts %}
  {% for property in orderProduct.offer|offer_properties %}
    {{ property.code }} - {{ property.name }} - {{ property.value }}
  {% endfor %}
{% endfor %}
containsЕсли параметром передается массив товаров, то функция проверяет, что заказ содержит хотя бы один из них.
Если параметром передается массив разделов, то функция проверяет, что заказ содержит товары из указанных разделов.
{% set orderContainsProducts = order|contains(products) %}
lookedЕсли параметром передаются товар(ы), то функция проверяет, что клиент смотрел любой из указанных товаров.
Если параметром передается раздел(ы) товаров, то функция проверяет, что клиент смотрел любой из товаров указанных разделов.
{% set isLookedProducts = customer|looked(products) %}
looked_products_countФункция возвращает количество просмотренных клиентом товаров
{% set lookedCount = customer|looked_products_count %}
countryВозвращает название страны по ISO коду (ISO 3166-1 alpha-2)
{{ 'RU'|country }} # Россия
{{ order.deliveryAddress.country|country }} # Название страны из адреса заказа
local_timeВозвращает местное время по номеру телефона, адресу клиента или адресу доставки
{{ '+375 152 74-07-80'|local_time|date('H:i:s') }} # 15:53:23
{{ order.getDeliveryAddress|local_time|date('H:i:s') }}
{{ order.customer.getAddress|local_time|date('H:i:s') }}
{{ order.getPhone|local_time|date('H:i:s') }}
{{ order.getAnyPhone|local_time|date('H:i:s') }}
{{ order.customer.getAnyPhone|local_time|date('H:i:s') }}
file_urlВозвращает URL прикрепленного объекта (вложения) (тип Attachment) или файла (тип File)
{% for attachment in order.attachments %}
  <a href="{{ attachment|file_url }}">{{ attachment.file.originalName }}</a>
{% endfor %}
qr_code_urlВозвращает URL QR-кода заданного размера (в пикселях) для строки
<img src="{{ '123'|qr_code_url }}">
<img src="{{ '123'|qr_code_url(200) }}">
Если аргумент пустой или не является строкой, то будет возвращена пустая строка.
barcode_code128_urlВозвращает URL штрих-кода с типом Code 128 заданного размера (высота в пикселях) для строки
<img src="{{ '123'|barcode_code128_url }}">
<img src="{{ '123'|barcode_code128_url(100) }}">
Если аргумент пустой или не является строкой, то будет возвращена пустая строка.
barcode_code39_urlВозвращает URL штрих-кода с типом Code 39 заданного размера (высота в пикселях) для строки
<img src="{{ '123'|barcode_code39_url }}">
<img src="{{ '123'|barcode_code39_url(100) }}">
Если аргумент пустой или не является строкой, то будет возвращена пустая строка.
Благодарим за отзыв.
Была ли статья полезна?
Нет
  • Рекомендации не помогли
  • Нет ответа на мой вопрос
  • Текст трудно понять
  • Не нравится описанный функционал
Да
Предыдущая статья
Правила работы с Twig
Twig-шаблоны используются для подготовки шаблонов печатных форм, писем, SMS и оповещений. Представляют из себя html-верстку с вкраплениями twig-разметки, поэтому для создания шаблонов необходимы базовые знания html и twig.
Следующая статья
Справочник доступных Twig-функций
Аналогично фильтрам в шаблонах доступна большая часть стандартных функций, а также некоторые специальные функции. Общий перечень доступных функций приведен в статье.