Яндекс YML

Пример для настройки импорта стандартного YML (XML) файла от Яндекс, товары и группы

Настраиваем загрузку групп

<yml_catalog>
    <shop>
        <categories>
            <category id="123">Бытовая техника</category>
            <category id="456" parentId="123">Холодильники</category>
            ...
        </categories>
    ...
    </shop>
</yml_catalog>

XPath путь до групп: shop/categories/category.

Так как группы уже получены и XPath-курсор находится внутри узла category, пути к его атрибутам будут следующими:

  • ID группы — @id

  • ID родительской группы — @parentId

Название группы находится в текстовом содержимом текущего узла category, поэтому отдельный XPath путь для него указывать не требуется.

Настраиваем загрузку товаров

XPath путь до товаров: shop/offers/offer.

Настраиваем xpath для свойств

Обычно в YML Яндекса все свойства товара находятся в тегах param. В соответствии полей нужно указать путь до этих тегов и настроить, откуда брать название и значение свойства.

Так как товары уже получены и XPath-курсор находится внутри узла param, путь до свойств будет:

  • Название свойства — @name

Значение свойства находится в текстовом содержимом текущего узла param, поэтому отдельный XPath путь для него указывать не требуется.

Настраиваем соответствие полей для товара

Так как товары уже получены и XPath-курсор находится внутри узла offer, пути к его свойствам будут следующими:

@available - доступность товара, можно загружать в склад, если true добавит наличие 1, если false - 0, обновляем всегда, чтобы получать акутальное наличие

price - цены, обновляем всегда, чтобы получать акутальную цену

currencyId - код валюты, обновляем всегда, чтобы получать акутальную валюту

categoryId - если у вас загружаются группы из файла, то новый товар попадет в эту группу, уже существующий попадет если стоит параметр "обновлять"

picture - изображение товара, лучше ставить "не обновлять", чтобы для уже существующих товаров не тратить ресурсы и время на повторную загрузку файла

name - название товара, можно "не обновлять" если ничего не меняется

vendor - название производителя (создаем новый если такое название не находит в магазине), можно "не обновлять" если ничего не меняется

vendorCode - артикула товара (если в настройках импорта настроен поиск по полю артикул, то по нему будет будет осуществляься поиск уже существующих твоаров для обновления), можно "не обновлять" если ничего не меняется

description - описание товара, можно "не обновлять" если ничего не меняется

param - свойства товара, модуль сам соберет в массив все свойства из узла с этим тегом, можно "не обновлять" если ничего не меняется

weight - вес товара, можно "не обновлять" если ничего не меняется

{кг} - единици измерения веса, т.к. Яндекс передает вес в кг, то можно явно указать это в импорте, например если у вас в магазине товары в граммах, то модуль переведет его в единицы магазина, можно "не обновлять" если ничего не меняется

dimensions - габариты товара, можно "не обновлять" если ничего не меняется, модуль сам разабъет их на ДШВ

{см} - единици измерения габаритов, т.к. Яндекс передает габариты в см, то можно явно указать это в импорте, например если у вас в магазине товары в мм, то модуль переведет их в единицы магазина, можно "не обновлять" если ничего не меняется

Последнее обновление