Дополнительные разделы в YML-файле
В YML-файле, помимо описания товаров offer, могут содержаться дополнительные разделы с данными: категории товаров, подарки и промоакции. Эти данные можно использовать в письмах.
В шаблонах писем доступ к этим данным осуществляется через функции работы с YML:
yml_load,yml_xxx_get,yml_xxx_list.
Sendsay поддерживает следующие дополнительные разделы YML:
category— категории;gift— подарки;promo— промоакции и промокоды.
Перед использованием данных в шаблоне необходимо загрузить YML-файл:
[% yml = yml_load("URL_YML_ФАЙЛА", "ignore_error", 1) %]
Далее данные из каждого раздела можно:
- получить по id — с помощью функций
yml_xxx_get(); - получить список всех id — с помощью функций
yml_xxx_list().
Если элемент не найден или данные недоступны, функции вернут undef.
Категории товаров
Раздел category содержит список категорий товаров и структуру рубрикатора.
Чтобы получить категории по id:
[% category = yml_category_get(yml, "ID_КАТЕГОРИИ") %]
Чтобы получить список категорий:
[% category_ids = yml_category_list(yml) %]
Товары категории
С помощью функции yml_category_offer_get() можно получить список товаров, относящихся к определённой категории.
По умолчанию функция возвращает доступные товары — те, у которых в описании указано available: true:
[% list = yml_category_offer_get(yml, "КОД_КАТЕГОРИИ") %]
Чтобы получить список недоступных товаров категории (available: false), передайте дополнительный параметр:
[% list = yml_category_offer_get(yml, "КОД_КАТЕГОРИИ", "available", 0) %]
Товары без указанного значения categoryID игнорируются. Если товары в категории не найдены, функция вернёт пустой список.
Подарки
Раздел gift содержит информацию о подарках.
Чтобы получить подарок по id:
[% gift = yml_gift_get(yml, "ID_ПОДАРКА") %]
Чтобы получить список подарков:
[% gift_ids = yml_gift_list(yml) %]
Промоакции
Раздел promo содержит описание акций и условий их применения.
Получить промоакцию по id:
[% promo = yml_promo_get(yml, "ID_ПРОМО") %]
Получить список промоакций:
[% promo_ids = yml_promo_list(yml) %]
Товарные группы
Товары можно группировать по значению определённого параметра в их описании — например, по модели. Функция yml_offer_group_get() возвращает список товаров, у которых значение заданного параметра совпадает с указанным.
[% list = yml_offer_group_get(yml, "ГРУППА_ТОВАРОВ") %]
По умолчанию группировка не настроена. Чтобы задать параметр, по которому будут группироваться товары, установите значение ecom.yml.offer.group_key через sys.settings.set:
{
"action": "sys.settings.set",
"list": {
"ecom.yml.offer.group_key": "model"
}
}