Модификации
Для типа файла XML реализована загрузка модификаций
Варианты загрузки
1. Когда в файле только модификации и из них создаем родительский товар
<!--
Стандартынй пример Yandex Yml
shop/offers/offer - путь до товаров -> массив объектов offer
-->
<yml_catalog>
<shop>
<offers>
<offer id="123" group_id="001">
<name>ПЛАТЬЕ 001</name>
<param name="Цвет">Чёрный</param>
<price>2080</price>
<quantity>8</quantity>
<vendorCode>А123</vendorCode>
<picture>https://site.ru/upload/А123.jpg</picture>
<picture>https://site.ru/upload/А123_2.jpg</picture>
<description>Платье-туника со спущенным рукавом - простой и комфортный выбор для повседневности.</description>
</offer>
<offer id="456" group_id="001">
<name>ПЛАТЬЕ 001</name>
<param name="Цвет">Белый</param>
<price>2080</price>
<quantity>10</quantity>
<vendorCode>А456</vendorCode>
<picture>https://site.ru/upload/А456.jpg</picture>
<picture>https://site.ru/upload/А456_2.jpg</picture>
<description>Платье-туника со спущенным рукавом - простой и комфортный выбор для повседневности.</description
</offer>
</offers>
</shop>
<yml_catalog>
Нужно указать тег/аттрибут по которому будет объединение модификаций, в данном случае это у нас одинаковый аттрибут @group_id его и указываем в сопоставлении полей @group_id -> Модификация [modification], у нас сразу появилось поле куда мы будет его записывать, например mod_id (рекмоендуем) (возможные опции: Артикул товара [marking], Идентификатор товара CommerceML [guid], Название товара [name])
Т.к. родительских товаров в файле у нас нет, они будут создаваться из данных, которые имеются у модификаци, например название, описание (которое в модификациях хранить не нужно) и тд, то в соответствии мы укажем какие данные мы берем, чтобы система поняла, что эти данные мы записываем в родитльский товар, нужно отметить галочку "Для родит. товара", далее уже делаем соответствие

В зеленом Как видим, что в (1) блоке у нас все данные для модификаций, в поле названия товара мы сделали сложение через "+" имени и цвета для модификации, так же сохранили для модификации цвет в доп. свойство, цену и ее остаток.
В синем В блоке (2) данные для родительского товара, тут мы берем только 1 какую то картинку и описание
2. Когда в файле есть родительский товар и у него есть вложенность модификаций
<!--
Нестандартный пример XML
shop/offers/offer - путь до товаров -> массив объектов offer
-->
<yml_catalog>
<shop>
<offers>
<offer id="001">
<name>ПЛАТЬЕ 001</name>
<price>2080</price>
<vendorCode>А123</vendorCode>
<picture>https://site.ru/upload/А123.jpg</picture>
<picture>https://site.ru/upload/А123_2.jpg</picture>
<description>Платье-туника со спущенным рукавом - простой и комфортный выбор для повседневности.</description>
<variant id="123">
<quantity>3</quantity>
<barcode>2000000116679</barcode>
<param name="Размер">48</param>
</variant>
<variant id="456">
<quantity>10</quantity>
<barcode>2000000116686</barcode>
<param name="Размер">50</param>
</variant>
</offer>
</offers>
</shop>
<yml_catalog>
Нужно в параметре "Путь до модификаций внутри товара" указать variant

Нужно указать тег/аттрибут по которому будет объединение модификаций, в данном случае это у нас одинаковый аттрибут vendorCode (который находится выше по xml структуре) его и указываем в сопоставлении полей ../vendorCode -> Модификация [modification], у нас сразу появилось поле куда мы будет его записывать, например mod_id (рекмоендуем) (возможные опции: Артикул товара [marking], Идентификатор товара CommerceML [guid], Название товара [name])
Т.к. мы указали путь к модификациям внутри товара, то система будет использовать цикл внутри них, по структуре видно чтобы указать имя у товара, которое находится выше по стурктуре в xpath мы используем ../
(перейти на уровень выше).
После указания соответствия для модификаций, мы сопоставляем данные для род. товара, чтобы система поняла, что эти данные мы записываем в родитльский товар, нужно отметить галочку "Для родит. товара", далее уже делаем соответствие

В зеленом Как видим, что в (1) блоке у нас все данные для модификаций, в поле названия товара мы сделали сложение через "+" имени и размера для модификации, так же сохранили для модификации размер в доп. свойство, цену, ее остаток и др данные.
В синем В блоке (2) данные для родительского товара, тут мы берем все картинки, описание и др данные
Last updated