> For the complete documentation index, see [llms.txt](https://support.morozovpimnev.ru/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://support.morozovpimnev.ru/megaimport/modifikacii.md).

# Модификации

Для типа файла <mark style="background-color:red;">XML</mark> реализована загрузка модификаций

## Варианты загрузки

### 1. Когда в файле только модификации и из них создаем родительский товар

{% code lineNumbers="true" fullWidth="true" %}

```xml
<!--
    Стандартынй пример 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>
```

{% endcode %}

Нужно указать тег/аттрибут по которому будет объединение модификаций, в данном случае это у нас одинаковый аттрибут **@group\_id** его и указываем в сопоставлении полей **@group\_id -> Модификация \[modification]**, у нас сразу появилось поле куда мы будет его записывать, например **mod\_id** (рекмоендуем) (возможные опции: Артикул товара \[marking], Идентификатор товара CommerceML \[guid], Название товара \[name])

Т.к. родительских товаров в файле у нас нет, они будут создаваться из данных, которые имеются у модификаци, например название, описание (которое в модификациях хранить не нужно) и тд, то в соответствии мы укажем какие данные мы берем, чтобы система поняла, что эти данные мы записываем в родитльский товар, нужно отметить галочку <img src="/files/VyLlxgcR2pR3wZ2cddzT" alt="" data-size="original"> **"Для родит. товара"**, далее уже делаем соответствие

<div data-full-width="true"><figure><img src="/files/xI7BJFPDucHs4keMDfml" alt=""><figcaption></figcaption></figure></div>

<mark style="background-color:green;">В зеленом</mark> Как видим, что в (1) блоке у нас все данные для модификаций, в поле **названия товара** мы сделали сложение через "+" имени и цвета для модификации, так же сохранили для модификации цвет в доп. свойство, цену и ее остаток.

<mark style="background-color:blue;">В синем</mark> В блоке (2) данные для родительского товара, тут мы берем только 1 какую то картинку и описание

### 2. Когда в файле есть родительский товар и у него есть вложенность модификаций

<pre class="language-xml" data-line-numbers data-full-width="true"><code class="lang-xml">&#x3C;!--
    Нестандартный пример XML
    shop/offers/offer - путь до товаров -> массив объектов offer
-->
&#x3C;yml_catalog>
    &#x3C;shop>
        &#x3C;offers>
            &#x3C;offer id="001">
                &#x3C;name>ПЛАТЬЕ 001&#x3C;/name>
                &#x3C;price>2080&#x3C;/price>
                &#x3C;vendorCode>А123&#x3C;/vendorCode>
                &#x3C;picture>https://site.ru/upload/А123.jpg&#x3C;/picture>
                &#x3C;picture>https://site.ru/upload/А123_2.jpg&#x3C;/picture>
                &#x3C;description>Платье-туника со спущенным рукавом - простой и комфортный выбор для повседневности.&#x3C;/description>
                &#x3C;variant id="123">
<strong>                    &#x3C;quantity>3&#x3C;/quantity>
</strong>                    &#x3C;barcode>2000000116679&#x3C;/barcode>
                    &#x3C;param name="Размер">48&#x3C;/param>
                &#x3C;/variant>
                &#x3C;variant id="456">
                    &#x3C;quantity>10&#x3C;/quantity>
                    &#x3C;barcode>2000000116686&#x3C;/barcode>
                    &#x3C;param name="Размер">50&#x3C;/param>
                &#x3C;/variant>
            &#x3C;/offer>
        &#x3C;/offers>
    &#x3C;/shop>
&#x3C;yml_catalog>
</code></pre>

Нужно в параметре **"Путь до модификаций внутри товара"** указать **variant**

<div data-full-width="true"><figure><img src="/files/307YA1VH78b3ziQaQ5BB" alt=""><figcaption></figcaption></figure></div>

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

Т.к. мы указали путь к модификациям внутри товара, то система будет использовать цикл внутри них, по структуре видно чтобы указать имя у товара, которое находится выше по стурктуре в xpath мы используем `../` (перейти на уровень выше).

После указания соответствия для модификаций, мы сопоставляем данные для род. товара, чтобы система поняла, что эти данные мы записываем в родитльский товар, нужно отметить галочку <img src="/files/VyLlxgcR2pR3wZ2cddzT" alt="" data-size="original"> **"Для родит. товара"**, далее уже делаем соответствие

<div data-full-width="true"><figure><img src="/files/67R2tQdtL6MpNC6DrSmK" alt=""><figcaption></figcaption></figure></div>

<mark style="background-color:green;">В зеленом</mark> Как видим, что в (1) блоке у нас все данные для модификаций, в поле **названия товара** мы сделали сложение через "+" имени и размера для модификации, так же сохранили для модификации размер в доп. свойство, цену, ее остаток и др данные.

<mark style="background-color:blue;">В синем</mark> В блоке (2) данные для родительского товара, тут мы берем все картинки, описание и др данные
