Форум пользователей Impera CMS
Impera CMS - отличный движок для лёгкого создания интернет магазина.
Обладает невероятным количеством функций, необходимых в онлайн торговле.

Следить
Главная
09:49
07 апр
#
написал:

Дано Допустим у нас есть интернет-магазин, где мы вручную ввели некий набор товаров, слегка уникализируя названия и написав свои неповторимые в интернете описания с целью более удачного SEO. Отметим сразу, что магазин пока не использует артикулы, коды производителя, штрихкоды и тому подобные цифро-буквенные идентификаторы товаров. То есть бизнес ещё на уровне примитивной перепродажи товара с ненаших складов.

Теперь предположим, есть партнёр с очень, но не абсолютно похожим ассортиментом, на прайс которого - а более точно, на его цены и складские остатки - мы планируем ориентироваться.

Хотелось бы понять, как нам синхронизировать цены и остатки при минимальных телодвижениях с нашей стороны. Ведь те же товары у нас названы иначе, а постоянно парсить сайт партнёра неохота. Тем более что там свободно доступен прайс в формате xls, и того малого количества колонок (код, товар, остаток, цена) в прайсе вроде бы достаточно для синхронизации.

Отвечаем на вопрос

Тут нам поможет демонстрация начального шага в виде скриншота. Красным цветом отмечены этапы этого шага, а зелёным и коричневым - начальные соображения к подготовке варианта импорта. Подробности этих соображений будут изложены ниже.




То есть мы всякий раз скачиваем с сайта партнёра его прайс. Обычно такой xls располагается на сайтах по адресу наподобие http://имя.сайта/pricelist.xls и значит первый шаг - скачивание - в принципе можно автоматизировать. Затем открываем скачанный прайс в программе Microsoft Excel и просто сохраняем как CSV в кодировке UTF-8 - видимо, кто отлично владеет темой "Эксель", макросами и прочими самодействующими плюшками, смог бы автоматизировать и этот шаг.

И вот этот csv-файл уже импортируем на свой сайт через пункт админпанели разное » Варианты импорта - здесь предварительно создадим необходимый вариант.

Наверное дальше следует изложить логические заключения, предшествовавшие созданию варианта импорта.

Вариант импорта

Вопрос к картинке выше: Почему нам интересен товарный код партнёра?

Если в своих товарах мы пропишем такой же артикул как у партнёра, и будем использовать артикул только для внутренних целей (то есть не показывая на лицевой стороне сайта), то сразу решим вопрос какой-то уникальной привязки партнёрской товарной позиции к нашей позиции. Ведь как было сказано в исходных данных, названия товаров мы написали по-своему, и эти названия не совпадают с партнёрскими, следовательно использовать их для сопоставления позиций будет проблематично.

Вопрос к картинке выше: Почему плевать на остальные колонки прайса?

У нас база товаров уже набита, а товары могли быть названы иначе, чем записаны названия в 3-ей колонке партнёрского прайса. Чтобы мы не затёрли свои труды чужими названиями товаров, то с помощью мнемоники skip приказываем создаваемому варианту импорта вообще пропускать такие ячейки.

Однако хотелось бы ещё сделать так, чтобы если у нас нет такого товара, то его название на первое время бралось бы из партнёрского прайса, пока менеджер не промодерирует название/описание товара по нашим правилам. Значит мнемонику skip в 3-ей колонке мы меняем на мнемонику model - это название товара, и следом за ней добавляем значок ~ (тильда), который обозначает "мнемоника действует только для новых товаров".

Таким образом, для будущего варианта импорта получаем следующую последовательность мнемоник, которая означает "в товаре с этим АРТИКУЛОМ установить КОЛИЧЕСТВО и ЦЕНУ, а если товара нет, то создать и установить ему ещё это НАЗВАНИЕ":

skip, sku, model~, quantity, price, skip, skip


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

Одна вот такая команда [-] - её можно объяснить как "минус пустые" - отсеит мусорные строки, где в процессе импорта вдруг встречается пустая ячейка кода или пустая ячейка названия.

Вторая команда [-Код] - её можно объяснить как "минус содержащие слово Код" - отсеит мусорную строку 9.

Изложенные только что соображения продемонстрированы на следующем скриншоте.




Давайте теперь взглянем на конечный список мнемоник, который означает уже следующее:

  • игнорировать строки с пустым АРТИКУЛОМ или НАЗВАНИЕМ
  • игнорировать строки с АРТИКУЛОМ равным Код
  • такие записи КОЛИЧЕСТВА заменить такими числами
  • в товаре с таким АРТИКУЛОМ установить КОЛИЧЕСТВО и ЦЕНУ
  • а если товара нет, создать и установить ему ещё это НАЗВАНИЕ
skip, sku [-] [-Код], model~ [-], quantity [в наличии:1] [мало:10] [много:100] [*:0], price, skip, skip


Наконец мы готовы создать вариант импорта, подходящий для синхронизации цен. Параметры этого варианта показаны на скриншоте админпанели.

Но сначала ОДИН РАЗ придётся прописать партнёрские артикулы у наших товаров. Иначе этот вариант импорта при ПЕРВОМ ЗАПУСКЕ нафигачит к существующим безартикульным товарам большое множество партнёрских товаров, только с артикулами.

Написание ответа

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


Обратите внимание! Для противодействия спаму новые посты форума проявляются с задержкой от нескольких минут, пока не пройдут модерацию.