Название Описание
attribute Функция используется для доступа к "динамическим" свойствам объекта
cycle Функция cycle обходит массив значений
random Функция позволяет получить случайное значение
range Возвращает арифметическую прогрессию целых значений для заданного диапазона
price_symbol Выводит обозначение базовой валюты
preview_image_tag Генерирует тег <img/> для изображения товара заданного размера
Примеры
{{ preview_image_tag(op.offer.imageUrl, '100x100') }} # Превью изображения товара 100 на 100. При необходимости обрежется.
{{ preview_image_tag(op.offer.imageUrl, '100x-', { alt: op.offer.displayName }) }} # Превью изображения будет шириной 100, а высота будет пропорционально расчитана.
min Находит наименьшее значение в наборе или массиве чисел
max Находит наименьшее значение в наборе или массиве чисел
crm_settings_get Позволяет получить значение определенной настройки в системе
products_by_ids deprecated Используйте entities_by_ids
new_products Возвращает массив товаров с пометкой "Новинка".
Принимает параметры:
groups - группы, из которых выбираются товары
count - максимальное кол-во выбираемых товаров (по умолчанию 20)
properties - фильтр по свойствам товара
Пример
# Получаем товары с пометкой "Новинка" и размером "XL"
{% set products = new_products(properties={size: 'XL'}) %}
best_selling_products Возвращает массив самых продаваемых товаров
Принимает параметры:
groups - группы, из которых выбираются товары
count - максимальное кол-во выбираемых товаров (по умолчанию 20)
exclude - товары, которые будут исключены из выборки
from - фильтр по дате
to - фильтр по дате
margin - минимальный порог маржи в абсолютных или относительных значениях, товары с маржой ниже порога не попадают в выборку
properties - фильтр по свойствам товара
customer - фильтр по клиенту
Пример
# Получаем пять самых продаваемых товаров за первый квартал с маржой выше 10%
{% set products = best_selling_products(from='2016-01-01', to='2016-03-31', count=5, margin='10%') %}
most_visited_products Возвращает массив самых просматриваемых товаров
Принимает параметры:
groups - группы, из которых выбираются товары
count - максимальное кол-во выбираемых товаров (по умолчанию 20)
exclude - товары, которые будут исключены из выборки
from - фильтр по дате
to - фильтр по дате
margin - минимальный порог маржи в абсолютных или относительных значениях, товары с маржой ниже порога не попадают в выборку
properties - фильтр по свойствам товара
customer - фильтр по клиенту
Пример
# Получаем пять самых просматриваемых товаров
{% set products = most_visited_products(count=5, exclude=[23, 34, 45]) %}
most_long_viewed_products Возвращает массив самых долго просматриваемых товаров
Принимает параметры:
groups - группы, из которых выбираются товары
count - максимальное кол-во выбираемых товаров (по умолчанию 20)
exclude - товары, которые будут исключены из выборки
from - фильтр по дате
to - фильтр по дате
margin - минимальный порог маржи в абсолютных или относительных значениях, товары с маржой ниже порога не попадают в выборку
properties - фильтр по свойствам товара
customer - фильтр по клиенту
Пример
# Получаем пять самых долго просматриваемых товаров за январь
{% set products = most_long_viewed_products(count=5, from='2016-01-01', to='2016-01-31') %}
product_groups Возвращает массив групп товаров указанного магазина до указанного уровня вложенности (по умолчанию 1 уровень). Если передано значение level больше 3, то возвращает 3 уровня. Элементы массива отсортированы в иерархическом порядке
entity_by_code Возвращает значение справочника по его символьному коду
Для выборки доступны объекты типа: DeliveryType, DeliveryService, OrderMethod, OrderProductStatus, OrderType, PaymentStatus, PaymentType, Site, Status, StatusGroup, Store , LegalEntity
Пример
{{ entity_by_code('DeliveryType', 'delivery-type-10') }}
entity_by_id Возвращает сущность из базы по её идентификатору
Для выборки доступны объекты типа: User, Site, Product, ProductGroup, Customer
При выборке сущности Product возможно указать поле идентификации. Доступные значения: id, externalId, article
Пример
{{ entity_by_id('User', 4) }}
entities_by_ids Возвращает массив сущностей из базы по идентификаторам
Для выборки доступны объекты типа: Product, ProductGroup
При выборке сущности Product возможно указать поле идентификации. Доступные значения: id, externalId, article
Пример
{% set products = entities_by_ids('Product', ['100', '101', '102'], 'externalId') %}
is_working_time Функция проверяет, является ли значение dateTime рабочим временем и возвращает результат (true или false). В качестве dateTime функция может принимать объект DateTime или строку, формат которой соответствует формату php функции strtotime. По умолчанию используется значение текущей даты и времени.
Пример
is_working_time()
is_working_time('2015-01-01 10:00:00')
is_working_time(date('2015-01-01 10:00:00'))
is_working_time(order.getCreatedAt())
hash Выполняет однонаправленное хеширование данных с использованием заданной хеш-функции (md5, sha1, sha256). Значение возвращается в виде hex-строки в нижнем регистре.
Пример
hash("md5", "test") # 098f6bcd4621d373cade4e832627b4f6
yandex_maps_api Формирует ссылку для загрузки API Yandex.Maps
Принимает параметры:
version - Версия
parameters - Массив дополнительных параметров
Пример
{{ yandex_maps_api('2.0', { load: 'package.full', lang: 'ru_RU' }) }}
payment_link Возвращает ссылку на оплату счета интеграционной оплаты
В заказе для использования функции должен быть добавлен интеграционный тип оплаты
Принимает параметры:
order - заказ с интеграционной оплатой, для которой создается ссылка на оплату счета
или
payment - интеграционная оплата, для которой создается ссылка на оплату счета
Примеры
# Получаем ссылку на оплату счета первой интеграционной оплаты из заказа
{{ payment_link(order) }}
# Получаем ссылку на оплату счета интеграционной оплаты из заказа по коду типа интеграционной оплаты
{% set integrationPayment = null %}
{% for payment in order.payments if integrationPayment is null %}
    {% if payment.type.code == 'yandex_kassa_shop1' %}
        {% set integrationPayment = payment %}
    {% endif %}
{% endfor %}

{% if integrationPayment is not null %}
    Ваша ссылка на оплату: {{ payment_link(integrationPayment) }}
{% endif %}
user Возвращает текущего пользователя
user_status Возвращает статус пользователя (объект типа User), переданного в качестве аргумента функции.
При вызове без аргументов возвращает статус текущего пользователя.
Пример
{{ user_status(order.manager) }} # free
user_online_status Возвращает онлайн-статус пользователя (объект типа User), переданного в качестве аргумента функции (true или false)
При вызове без аргументов возвращает онлайн-статус текущего пользователя.
Пример
user_online_status(order.manager) # true
loyalty_account_info Возвращает информацию о бонусном счете участия в ПЛ, переданного в качестве аргумента функции
Возвращает объект типа LoyaltyAccountInfo
Пример:
loyalty_account_info(account).getWaitingActivationAmount()
loyalty_account_info(order.loyaltyAccount).getActiveAmount()
loyalty_account_info(customer.loyaltyAccountBySiteCode('test')).getBurnSoonAmount(10)