Попробуйте Улучшенный Импорт Товаров

Если вручную запускать, нет проблем.

Суть только в том, что если имеется более одной витрины, обновляться ей по URL с поставщиком уже не получается автоматически.

Тогда какой смысл в импорте по CRON, если в файл надо добавлять это поле. Это бред. Какой вендор будет что-то добавлять в поля, он даже не знает, что это и как выглядит содержание файла.

1 лайк

Тогда думаю в баг трекер написать надо

Добрый день.
@ikoshkin, пожалуйста, помогите разобраться с 1 вопросом в улучшенном импорте. Текущая ситуация: есть поставщик у которого в YML/XML файле есть только товары в наличии. Когда у него удаляется из ассортимента товар он пропадает и из YML/XML файла.
В улучшенном импорте есть опция: “Уменьшить количество товаров до нуля”.

Пожалуйста, подскажите, если выбрать эту опцию уменьшатся все товары в магазине или только товары загруженные этим пресетом? У меня есть другие поставщики, соответственно обнулять кол-во всех товаров нельзя.

Сейчас получается, что вводить новинки из его файла я могу, а вот убирать товары, которых нет в наличии не могу.

Подскажите, как можно синхронизировать остатки с таким поставщиком?

Заранее спасибо.

Такие вещи удобно проверять на https://demo.cs-cart.com или http://dev.demo.cs-cart.ru. Я проверил, импортировав только один товар через пресет с этой настройкой. Уменьшилось до нуля количество у всех остальных товаров.

Это поведение как раз нужно для таких случаев, как вы описали (поставщик убирает отсутствующие товары из файла), но сейчас не закрывает ситуацию, когда такой поставщик – один из многих.

Т.к. я не знаю всех деталей (т.е. сколько у вас таких поставщиков, какие у них файлы и т.п.), то не факт, что все мои предложения вам подойдут. Пока мысли такие:

  1. Если вы импортируете все данные от нескольких поставщиков в одно и то же время, а отсутствующие в наличии товары убирает из файла только один поставщик – настраиваем импорт по CRON так, чтобы сначала импортировать товары этого поставщика (сбросив остальные до нуля), а сразу после этого импортировать файлы остальных поставщиков уже с нужным количеством.

  2. Если первый вариант не подходит, то лучше всего обратиться к сторонним разработчикам за индивидуальной доработкой модуля. Сам я не программист, но приходит в голову такой вариант доработки:

    • Сохранять при импорте в отдельное поле товара ещё и ID последнего пресета, из которого была загружена информация о товаре.
    • При импорте из пресета добавить дополнительную проверку и сбрасывать до нуля количество только у тех товаров, у которых записан этот ID пресета.

Добрый день.
Для такого случая единственное решение это сначала обнулить текущие остатки по этому поставщику, а затем залить новые из актуального файла от поставщика. Опция “Уменьшить количество товаров до нуля” бесполезна.

Добрый день.
Подскажите можно ли в модификаторе поля Category задать одновременно несколько замен, чтобы менять названия не одной категории, а нескольких?

Добрый день.
@imac, @ikoshkin есть ли в планах улучшенный экспорт? Мне необходимо выгрузить в каждый отдельный столбик варианты характеристик для каждого товара. (Модуль от Ecomlabs не предлагать)
Сейчас импорт такой сделать можно, а экспорт нет.

Так, я загружаю прайс лист с новинками и характеристиками от поставщика используя улучшенный импорт, а затем я должен доработать варианты характеристик, чтобы привести их к стандарту (поставщиков много, один и тот же вариант описывают по разному или описывают плохо).

Сейчас не представляю, как это в ручную делать - в каждой строке для каждого продукта варианты находятся на разных позициях и способ разделения по столбцам в excel не подходит. Ассортимент у каждого поставщика несколько тысяч наименований - вручную нереально.

Очень жду вашей помощи!

1 лайк

Пока мы не видели много запросов на эту тему, поэтому в планах на ближайшее будущее нет. Сейчас в приоритете вариации, чекаут, многоскладовость (по ним запросов было намного больше). О планах можно узнавать из вот таких тем: Видеоотчёт от разработчиков CS-Cart (декабрь 2018). Там Илья Макаров рассказывает, что мы делаем, и почему именно это.

А почему не предлагать модуль от Ecom Labs? Вы его уже попробовали и он чем-то не подошёл?

В общем спустя много кофе :coffee: и пары нервных срывов :exploding_head: пришли к некому варианту как допилить модуль импорта для удобной работы

Плюшки после прочтения

C самыми активными помощниками по окончанию разработки поделюсь готовым результатом

------------------Описание проблемы------------------


(!)все данные условные и могут быть увеличены в разы, вариант “делать руками исключен”


Поставщик отдает прайс в формате xml.

  • Прайс содержит 5000 позиций.
  • 5000 позиций расположены в 400 категориях.
  • В 5000 позиций есть 600 характеристик(у одной позиции может быть 1 характеристика, у другой 12).

Товар до этого никогда не бывал в магазине, характеристики часть есть, части нету.
Задача:

  • Добавить все товары
  • разложить товары по категориях
  • установить не замаплянные характеристики
    • если допустима для конкретного товара в конкретной категории(характеристика или группа характеристик)
    • если характеристика общая(не принадлежит ни к одной категории)
  • создать характеристики если их нету

------------------Вариант решения------------------

  1. Добавить поле для указания места хранения категорий в прайсе

  2. Добавить вкладку для маппинга категорий

    Механика работы: установка должна быть с отношением многие к одному, т.е. несколько категорий с одного прайса должны ссылатся на одну категорию в cs-cart

  3. Добавить спец. поле в таблицу соответствий полей, которое будет указывать на признак категории в товаре(пример Advanced Import: Images (Изображения товара))

  4. добавить отметку “Попытатся установить характеристику”(дропдаун с выбором типа характеристики)

    Механика работы: если для категории, к которой принадлежит товар, есть характеристика с таким же именем и допустимым типом - установить ее значение. Если же характеристики нету или по типу данных не подходит - создать характеристику с типом установленным в прессете, ограничить характеристику только этой категорией, установить значение характеристики, дописать в маппинг пресета.

  5. Создавать товары согласно собранных данных

Возможные ошибки и их обработка

  • Не установлено соответствие категорий, отсутствует значение товара “Категория” — Создавать товар в категории Products, характеристики привязывать к Products

…будет дополнено со временем

Пока планирую дорабатывать данный функционал самостоятельно.
Если кому интересно - оставьте свое мнение в голосовалке(наберется нормально голосов - создадим отдельную тему для обсуждения)

  • Функционал нужен, делай,помогу советом если смогу
  • Бесполезная трата времени, иди лесом
  • 50/50, дополню комментом

0 голосов

От всех, кому не безразлично, принимаю дотации в виде печенек :cookie: или лайков :heart: под сообщением

3 лайка

Плюсую к запросу, это как минимум логично с учетом нового импорта.

А то как то наполовину сделали и бросили…

2 лайка

Тоже плюсану, нужно.

1 лайк

всю фантазию истратил и не могу расшифровать - что такое "замаплянные " ?

значит характеристики, которым установили соответствие на вкладке “Таблица соответствия полей”
Например так

никогда б не догадался!
а по поводу реализации у вас вроде все очень правильно описано.
Про характеристики имхо можно прям сюда вставить
создать характеристиику типа А
создать характеристиику типа В
создать характеристиику типа С

т.е. еще на этапе сопоставления полей

Я знаю слово замапленный, по типу обезпрайсленного (вне списка) товара, куда его замапить.

1 лайк

У меня подобное рабочее решение. Я замапил все категории по айдишнику и у меня в прайсе одни числа вместо категорий. При импорте происходит обратное превращение айдишников в словокатегории. Таким образом продавцу не надо голову морочить как ввести 4 дополнительных категории одну за другой, причем со всеми парентами и тройными слэшами.

Забыл упомянуть, что сделал категориальное дерево с плюсиками и минусами для сворачивания уровня, чтобы легче можно было находить соответствующие айдишники. Правда в Excel-е оно выглядит страшненько. Покупать Tree List не особая охота

В целом можно и в екселе это всё сделать, но проблема в том, что это должно всё обрабатываться с одного места.
Кроме того такой прайс требует ручной работы, а если поставщиков 50, 100, 1000…тогда возникают проблемы.
Тем более есть штатный механизм, который работает почти так, как того бы хотелось, почему бы его не использовать

Тоже интересный вариант, возможно так и сделаю, дабы не перегружать интерфейс


Изначально была идея добавить выпадающий список справа от существующего.
В общем буду тестить что получится легче для страницы.
У меня на реальном примере в прайсе ~600 характеристик, страница и так долго грузится.
Это при учете того, что разработчиками заложено ограничение в 150 характеристик магазина в списке сопоставления(а их сейчас, на секундочку, 1700)

у вас Мультивендор? что вы такое грузите?

Как кстати нынче дела с дозаписью обстоят. Например залил для товара 10 характеристик, а потом вспомнил и залили еще одну и тогда эти 10 полностью стирались.

Сейчас это исправили или так и есть? Я просто “плюнул” ждать починки и просто купил модуль от экомлабс.