Перенос каталога oasiscatalog.com в Woocommerce

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5
Загрузка...

Заказчик оплатил работу и пропал :))Сайт не доступен

Обратился клиент, которому понадобилось импортировать данные из каталога oasiscatalog.com в интернет магазин на движке WordPress (Woocommerce).В личном кабинете можно получить ссылку на csv файл, но проблема в том, что данный файл содержит не совсем корректные данные для импорта с помощью того же плагина «Wp All import».

Во первых дополнительные поля находятся в одной ячейке, соответственно импортировать данные с помощью какого-либо плагина в woocommerce не получится.

Во-вторых неправильно создана иерархия категорий, например (123,42,56), а должна быть в текстовом варианте (пример: категория1//категория2//категория3)

Какова мой задача?

Так как я решил использовать для импорта известный плагин «Wp All import», то мне понадобилось создать csv или xml файл, который будет подходит под требования плагина.

Что сделано?

Для этой задачи я перенёс готовый csv файл в mysql базу данных (отдельная таблица с товарами + таблица с категориями)

Создал скрипты, которые добавят в ячейку категорию в виде иерархии с разделителем «|||»

Создание функции, которая добавит отдельной ячейкой в MYSQL каждое свойства товара. В итоге получилась таблица с 160 полями.

Разработка функции которая создаст отдельную ячейку с полем «Бренд»

И в итоге готовый эксель файл можно без проблем импортировать в Wp All Import.

Так же прайс содержит много дополнительных полей.

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

Импортирование.

Из-за большого кол-ва атрибутов, а так же картинок товара, импорт проходил очень долго. На хостинге пришлось увеличить ресурсы. Но проблема была в том, что чем больше база данных Woocommerce, тем медленнее работает скрипт.

Итог

В итоге в БД WP было импортировано 21000 товаров, так же я написал скрипт-парсер с нуля для тестирования. Как оказалось скорость скрипта не намного отличается от существующего плагина All Import.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*
*