Как перенести товар с Sima-land в WooCommerce

14 октября 2016

Моя статья не является руководством к действию на рабочем сайте, рекомендую всё делать на локальной копии или имея актуальный бэкап под рукой. если решили рискнуть на живом сайте, то данные действия рекомендуется выполнять в ночное время или время минимальной активности на Вашем сайте, так как, в зависимости от настроек Вашего хостинга, сайт покажется мёртвым на время импорта и может быть в таком состоянии некоторое время после. Связанно это с очень большой нагрузкой на сервер во время импорта. Некоторые хостеры могут “возникать”, если этот процесс будет очень долгим или у вас море ограничений. Поэтому настоятельно рекомендую сделать всё на локальной копии.

Я попробую показать Вам вариант импорта товара с платформы Sima-land, если вам дали огромный прайс с этого магазина и Вам нужно в кратчайшие сроки загрузить его со всем содержимым. У Sima-land есть своё полноценное решение, которое нужно самому написать для Вашего магазина, но увы это не WordPress. А нам почему-то понадобилось загрузить товар к себе на WordPress интернет-магазин под управлением Woocommerce.

Я предполагаю, что у Вас установлен WordPress и Woocommerce, а также настроены для использования. Теперь нам необходимо установить плагин, который поможет нам с импортом. WP All Import и дополнение к нему. Активируете их в той же последовательности. Далее идём в адимнку, слева увидите новый пункт “All Import” и переходим к “New Import”.

sima-land-perenos-woocommerce

Пока эту вкладку оставляем и переходим к API Sima-land. Вам необходимо получить артикулы нужных товаров и переписать их себе через запятую. Получить их Вы можете в прайс-листе вашего заказа или непосредственно на странице каждого товара (первая характеристика товара). Далее нам необходимо заняться парсингом и сформировать ссылку для получения всей необходимой информации.

1
https://www.sima-land.ru/api/v3/item/?sid=ваши_номера_артикулов_через_запятую&expand=description,boxtype,attrs,materials&per_page=100&page=1

sid – после равно указываем номера артикулов нужных Вам товаров
expand=description,boxtype,attrs,materials – добавляем в наш импорт описание, тип упаковки, атрибуты и материал товара, так как при обычном запросе они отсутствую
per_page=100 – количество товаров на странице парсинга (100 максимум)
page=1 – номер страницы

Пример готовой ссылки для парсинга:

1
https://www.sima-land.ru/api/v3/item/?sid=1348078&per_page=100&page=1

Пример отображения результата запроса

Если у Вас более 100 товаров, которые вы хотите перенести, то вам придётся делать две разные ссылки с разными номерами артикулов. Можетесделать и так: при ссылке, которую я описал выше, будут выводится первые 100 товаров, остальные будут перенесены на следующую страницу. В уме поделите количество ваших товаров на 100, сколько получится – столько страниц у Вас будет. Для перехода, на любую из страниц, Вам необходимо поменять циферку в конце (например page=2). Только учтите, что вы не можете запросить более 250 товаров и поэтому лучше раскидывайте по 100 товаров в каждую новую ссылку и запрашивайте их с паузой в 10 секунд (это ограничения API Sima-land).

Что же мы этим делаем? Мы передаём серверу Sima-land артикулы нужных нам товаров, а он возвращает нам перечень параметров этого товара в виде кода.

Вроде разобрались как товар спарсить, теперь осталось ввести наши готовые ссылки в адресную строку и после загрузки страницы нажмите Ctr+S, сохраните файл и так для каждой ссылки. На выходе вы должны получить один или несколько файлов (смотря сколько ссылок создавали) с кучей текста формата xml.

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

Приступаем к настройке переноса товара. Теперь нам необходимо вернуться к вкладке “New Import”, которую мы ранее оставили. Тут выбираем “Upload a file” и выбираем любой один из файлов, которые мы ранее сохранили (можно брать только по одному файлу). После загрузки файла, Вам предложат выбрать тип записей и вы указываете “WooCommerce Products”, после жмёте “Continue to Step 2”.

sima-land-perenos-woocommerce-png-2

Автоматический анализ документа получается некоректным и поэтому весь товар видется плагином импорта не совсем корректно. Необходимо ему помочь и для этого мы переходим к низу страницы “Add Filtering Options”. В выпающем списке “Element” выбираем uid[1]. “Rule” выбираем “is not empty”. Далее жмём “Add Rule”, а потом “Apply Filters To XPath”. После этих манипуляцию у Вас откорректируются параметры импорта и позиции товара разпознаются более-менее корректно.

Отсеиваем мусор с помощью фильтра

Переходим к третьему шагу, тут нам необходимо заполнять связи между документом для импорта и нашим магазином. Параметры можете перетаскивать из списка справа или переписывать названия с моих скринов.

Первым делом мы указываем откуда брать заголовок и описание. Важно, что описание нужно добавлять в режиме кода, а не визуального редактора (кнопка “Код”, вместо “Визуально”).

параметры шаблона для переноса в Woocomerce

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

параметры шаблона для переноса в Woocomerce

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

параметры шаблона для переноса в Woocomerce

Атрибуты заполняете в соответствии с тем, что Вам необходимо. Не забывайте, что если в примере нет нужного атрибута, то справа перетаскивайте мышкой нужный в поле для данных, так как можете ошибиться с названием или иерархией доступа к параметру.

Параметры шаблона для переноса в Woocomerce

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

Параметры шаблона для переноса в Woocomerce

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

Параметры шаблона для переноса в Woocomerce

Если вы хотите перенести категории, то указывайте следующий параметр в соответствии со скрином. Название категории будет указано цифрами и после импорта Вам останется в админке сменить название категории (в редакторе для категорий, не для каждого товара). Название категории можете получить с помощью ссылки парсинга, в появившемся коде на странице увидите параметр “name” и получите заветное название. Это можно автоматизировать, но это совсем другая история.

Параметры шаблона для переноса в Woocomerce

1
/api/v3/category/00017/

00017 – номер вашей категории, который видите вместо названия

Пример парсинга названия категории

Внизу страницы обязательно ставьте галочку ““, так как Вам ещё импортировать другие файлы по этому же шаблону. Не забывайте указать имя. Сохранять шаблон нужно в первый раз или если вы произвели некие изменения в его настройках.

На этом настройки закончились и к идеальному соотношению их, я приходил через море попыток импорта. В идеале необходимо себе переносить артикул, чтобы можно было обновить товары потом, но на это у меня сил уже не хватило. Переходим к следующему шагу, предлагают выбрать уникальный идентификатор, но на практике он не работает для управления обновлением постов, но лучше заполните его как показано на скрине.

Параметры шаблона для переноса в Woocomerce

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

Далее любуйтесь на свой работу, разгребайте нормальные названия для категорий и смотрите что вышло в итоге. По времени и трудозатратам этот способ стоит использовать если нужно загрузить более 10 товаров, а после созданиях шаблона – эффективно для любого количества товаров.

Старался описать максимально простым языком для неопытных пользователей и не сильно нудно для продвинутых. В итоге никому не угодил. Поэтому жду от Вас комментария, лайка или вопросов (отвечу по возможности, если к тому времени всё не забуду). Разбирался по собственному желанию, так как недавно у меня спросили возможно ли такое. Если сильно захотеть, то можно написать плагин, который бы осуществлял часть заявленного функционала из API, но это надо много времени, а время – деньги (которых у меня нет).

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

Салют в Могилёве, 750 лет