Выдано 137217 лицензий

Магазин приложений HostCMS

Импорт из файлов для Яндекс.Маркет (YML)

Импорт из файлов для Яндекс.Маркет (YML)

Цена: 6 900 ₽

Более 30 установок.

Установить модуль вы можете через раздел «Магазин приложений» в центре администрирования HostCMS.

Модуль предназначен для импорта товаров из YML-файла согласно спецификации YML-файлов (подробнее здесь — https://yandex.ru/support/partnermarket/offers.html).

Импорт <offers> возможен как в упрощенном, так и произвольном типе. В упрощенном и произвольном типах по-разному формируется название предложения: в упрощенном типе полное название товара — тип, производитель и модель — указывается в одном элементе <name>, а в произвольном оно составляется из трех разных элементов <typePrefix>, <vendor> и <model>.

Для работы модуля необходим cURL. Требования к доступной оперативной памяти и времени выполнения должны соответствовать объемам импортируемого YML-файла. Чем больше файл, тем больше ресурсов требуется для его разбора в памяти.

Для импорта внесите адрес YML-файла в поле «Путь к YML» или выберите файл для загрузки, выберите магазин из выпадающего списка и группу, которая будет считаться корневой. Установите опции импорта изображений и дополнительных свойств, затем нажмите Импортировать.

Поиск товара ведется в следующем порядке:

  1. по vendorCode в поле vendorCode у товара;
  2. по vendorCode в поле артикул у товара;
  3. по article в поле артикул у товара (если тег <article> присутствует в файле);
  4. по barcode в поле штрихкод товара (если тег <barcode> присутствует в файле);
  5. по названию товара.

При включенной опции «Искать товары без учета групп» поиск будет осуществляться по всему магазину (без учета группы, указанной в YML), а новые товары будут создаваться с учетом группы, указанной в YML.

Для существующих товаров доступны следующие опции:

  • Обновить существующие товары.
  • Оставить без изменений.
  • Не импортировать новые товары.

Обработка <categories>

Группы загружаются согласно иерархии, которая сформирована в импортируемом файле.

Обработка <offers>

Таблица соответствия полей

Тег в YML-файле Атрибут товара
name Название
model Название товара, формируется из тегов <typePrefix> + <vendor> + <model>. Обрабатывается только при отсутствии тега <name>
price Цена
currencyId Валюта, при наличии в справочнике валют
group_id Группа товара
picture Основное изображение товара. При наличии в файле нескольких picture, первый пойдет в основное изображение, остальные в доп.свойство с GUID, имеющим значение 'ADDITIONAL-IMAGES'
vendor Производитель, определяется по названию
categoryId Родительская группа
description Описание
sales_notes Отличие товара от других (значение тега <sales_notes>)
country_of_origin Страна производства
vendorCode Код товара от производителя, если не передано нестандартное поле marking, то в vendorCode будет также записан в артикул товара
weight Вес
article Артикул
@available Если true, то товар будет добавлен с количеством, указанным в поле «Количество на складе» в настройках импорта
param Дополнительные свойства. Имена свойств могут быть заменены через вкладку «Соответствия», при этом в поле «Название» указывается название свойства из YML-файла, в поле «Соответствие» — название свойства в системе управления

Также есть особенности импорта тега <param>:

  1. <param> с именем «Активность» отвечает за активность товара;
  2. <param> с именами Длина, Ширина, Высота будут проимпортированы в соответствующие атрибуты товара.

Информация о разработчике:

  • Разработчик: Hostmake LLC
  • Вопросы по модулю: support@hostcms.ru
  • Поддержка: support@hostcms.ru

Скриншоты

Версии модуля

Версия Дата Описание Версия от Версия до
2.9.3 28.06.2022

Добавлена импорт групп со строковыми идентификаторами.

7.0.2
2.9.2 09.02.2022

Добавлен показ ошибок при загрузке файлов.

7.0.2
2.9.1 03.02.2022

Добавлена передача User Agent и Referer при запросе изображений.

6.9.0
2.9 23.06.2021

Добавлена опция импортировать группы, при снятой опции данные о группах не импортируются. Если установлено импортировать новые товары, а данных о группе нет, то товары будут размещаться в указанную при импорте группу.

6.9.0
2.8 19.05.2021

Изменена обработка тега model, при импорте offer в произвольном типе название товара формируется из тегов typePrefix, vendor и model.

6.9.0
2.7 21.07.2020

Добавлен импорт barcode

6.9.0
2.6 16.06.2020

Добавлен поиск товаров по <barcode>

6.9.0
2.5 11.06.2020

Добавлена опция "Не импортировать новые товары"

6.8.7
2.4 29.04.2020

Исправлена ошибка с потерей дерева групп при пошаговом импорте.

6.8.7
2.3 07.02.2020

Добавлена украинская локализация.

6.8.7
2.2 06.09.2019

Добавлено сохранение настроек в config-файле. Для каждого сайта может быть свой набор настроек.

6.8.7
2.1 17.07.2019

Добавлена возможность загрузки YML из локального файла.

6.8.7
2.0 01.07.2019

Добавлена форма выбора соответствий названий загружаемых свойств.

6.8.7
1.9 19.04.2019
  • Добавлен поиск по тегу <article>
  • Добавлена обработка свойства "Активность" у offer.
6.8.7
1.8 25.03.2019

При импорте производятся проводки установки цен и инвентаризации.

6.8.7
1.7 25.03.2019
  • Добавлена возможность указания максимального времени выполнения шага импорта и задержка при переходе на следующий шаг.
  • Реализовано указание действия для существующих товаров: обновить или оставить без изменения
  • Общие исправления.
6.8.4
1.6 18.03.2019
  • Если артикул пустой и заполнен vendorCode в YML-файле, то в артикул пойдет значение vendorCode.
  • Добавлен флаг обновления цен. Если включен, то цена будет загружаться, иначе - нет.
  • Общие исправления.
6.8.4
Похожие

Комментарии

  • Кэш

    При импорте не сбрасывается кэш товаров.
    В итоге в админке одна цена, на сайте другая

    08.12.2022 12:49:57
    HostDEV.pw
  • Без темы

    Необходимо заменить строчку
    $oObject->group_id = isset($offer->categoryId) ? intval($offer->categoryId) : 0;
    на
    $oObject->group_id = isset($offer->categoryId) ? strval($offer->categoryId) : 0;

    т.к. в $offer->categoryId не всегда может находиться число

    28.06.2022 06:31:27
    HostDEV.pw

    Без темы

    Изменено. Выпущена версия 2.9.3.

    28.06.2022 09:24:32
    alexander.egorov
  • Без темы

    Необходимо доработать хук после импорта товара
    Core_Event::notify(get_class($this) . '.onAfterImportItem', $this, array($oShop_Item, $oItem));

    28.09.2021 09:41:28
    HostDEV.pw

    Без темы

    В следующую версию добавим в таком виде:

    Core_Event::notify(get_class($this) . '.onAfterImportItem', $this, array($oItem, $oShop_Item));

    Сейчас вы можете внести вручную.

    28.09.2021 09:53:56
    alexander.egorov
  • Остатки

    Очень нужна возможность загрузить остатки из yml файла.
    Можно добавить поле для указания тега в yml, который содержит остаток.
    И соответственно нужен выбор склада для загрузки остатка, т.к. поставщиков несколько.

    15.08.2020 18:17:48
    2wind
  • CRON

    По поводу CRON вопрос хочется повторить. Если возможность настроить ежедневный автоматический импорт ил YML?

    15.05.2019 20:05:52
    iNik

    Без темы

    Модуль импорта какие-то особые решения для использования через cron не предлагает, код модуля открыт, вы можете вызывать методы API и из стороннего файла, который будет вызываться уже через cron.

    16.05.2019 09:18:22
    hostcms
  • Без темы

    Очень бледное описание. Не указано, обрабатывает ли модуль атрибут available или количества, импортируются ли акции и скидки, имеется ли возможность запуска по CRON. Не очень понятно, производится ли обработка категорий. Совершенно непонятно, есть ли возможность очистить товары/группы перед импортом. Короче, будет ли возможность у пользователя один раз всё настроить и потом забыть, а оно работает или же загрузка каждый раз требует усилий оператора.
    Ну и вынужден отметить что цена у модуля совершенно не антикризисная. [рассуждения о цене модуля удалены администрацией сайта]

    20.04.2019 11:26:49
    UrbanVampire
    UrbanVampire
  • Импорт из файлов для Яндекс.Маркет (YML)

    не хватает шага импорта, а то большой файл не загрузить

    21.09.2016 16:03:37
    alexpimnev

    Без темы

    Спасибо, добавили в функционал модуля.

    22.09.2016 23:59:25
    hostcms