Обработка и вывод данных из YML-файла
При реализации таких сценариев как "Брошенная корзина", "Брошенный просмотр" и т.д. сведения о товарах выводятся в письме на основе данных, содержащихся в подключенном к аккаунту YML-файле.
Для подключения к шаблонизатору данных из YML-файла используется вызов подключения внешних данных, в котором необходимо указать url с yml-файлом, который был подключен к вашему аккаунту.
[% external_extra("YOUR_YML_URL","format","yml") %]
Все содержимое YML-файла доступно в объекте yml:
[% yml %]
Пример описания товара из YML-файла:
<offer id="123" type="vendor.model" available="true" bid="1" group_id="136010368">
<url>http://www.xxxxxx.ru/xxxx</url>
<price>1749.0000</price>
<currencyId>RUR</currencyId>
<caategoryId>490</categoryId>
<market_category>Дом и дача/Дом и интерьер/Текстиль Шторы</market_category>
<picture>http://media.xxxxx.xx/products/641by641/13/60/10/XXXXXXXXXXXXXX.jpg</picture>
<delivery>true</delivery>
<local_delivery_cost>0</local_delivery_cost>
<typePrefix>Шторы, занавески</typePrefix>
<vendor>La Interieurs</vendor>
<vendorCode>136010368</vendorCode>
<model>Занавеска с вышивкои по низу</model>
<description>- Качество VALEUR SURE. Качественная отделка. Со сборкои 60 мм (3 варианта высоты). 91% полиэстера, 9% льна. Красивая вышивка по низу. Простои уход: стирка при 40°, не нужно гладить. Расстояние от отделки до низа 30 см (для размеров 240 и 260 см). Размер в см.</description>
<sales_notes>Минимальный заказ 1500 руб</sales_notes>
<manufacturer_warranty>true</manufacturer_warranty>
<param name="country_of_origin">Франция</param>
<param name="Пол">OTHER</param>
<param name="Возраст">OTHER</param>
<param name="Цвет">белый</param>
<param name="Размер" unit="FR">240 x 175 см</param>
</offer>
Прямой доступ к элементам оcуществляется по значение параметра id из тега offer:
[% id = 123 %]
[% dump(yml.$id) %]
Параметры товара доступны как свойства основного объекта:
[% id = 123 %]
[% yml.$id.model %]
[% yml.$id.description %]
[% yml.$id.param.Razmer %]
[% yml.$id.param.Razmer_unit %]
Параметр picture в YML-файле может содержать как одно изображение, так и несколько и, следовательно, у нас это может быть строка или массив. Если вам надо вывести одно изображение из списка доступных, то можно использовать следующий код:
[% IF yml.$id.picture[0] %] [% yml.$id.picture[0] %] [% ELSE %] [% yml.$id.picture %] [% END %]
Код в примере отформатирован для удобства восприятия. Если вам надо вставить значение в параметр в HTML-теге (например src в теге img), то вам необходимо удалить все пробелы между командами и переносы строк.
Вывод данных, собранных для сценария «Брошенная корзина»
[% external_extra('YOUR_URL','format','yml') %]
[% counter = 0 %]
[% FOREACH item IN anketa.sendsay_basket.items.values() %]
[% id = item.id %]
[% IF yml.$id %]
<a href="[% yml.$id.url %]">[% yml.$id.model %]</a><br>
[% yml.$id.price %]
[% counter = counter + 1 %]
[% END %]
[% END %]
[% IF counter == 0 %]
[% Cancel_Letter() %]
[% END %]