Импорт данных из xml в JoomShopping
Оплата по факту демонстрации работоспособного решения - выбор места для развёртывания за исполнителем, возможно развёртывание непосредственно на целевом сайте, но в данном случае временные окна для тестирования необходимо оговаривать. Бэкап своей БД предоставлю, если необходимо.
Требования:
1. Сценарий использования.
Пользователь загружает файл с данными и запускает импорт. Парсер разбирает входной файл и наполняет БД JoomShopping. На данном этапе заполняются таблицы продуктов, атрибутов продуктов и изображений. По окончании импорта пользователю выдаётся сводная таблица с результатами импорта (всего записей, всего по каждой категории) и предлагается выбрать соответствующую категорию из БД JoomShopping для каждой категории, обнаруженной во входном файле. Пользователь подтверждает выбор и парсер проставляет категории согласно полученным данным (таблица категорий продуктов JoomShopping)
2. Технические требования:
2.1. Формат входных файлов и наполнение: *****
2.2. Версия БД JoomShopping 3.15.3
2.3. Обработка текстовой информации:
//product[@id] --> jshopping_products.product_manufacturer_id
//product/category --> Описание ниже
//product/articul --> jshopping_products.product_ean + префикс, заданный в константах в коде страницы
//product/price --> jshopping_products.product_price, jshopping_products.min_price
//product/description --> jshopping_products.short_description_ru-RU (входное значение усекать до второго <br>, теги вырезать
//product/description --> jshopping_products.description_ru-RU (входное значение полностью)
//product/description --> Наполнение дополнительных полей описано ниже
//product/image_preview --> загрузить картинку в локальный каталог components\com_jshopping\files\img_products\import и установить значение jshopping_products.product_thumb_image, завести запись в jshopping_products.product_images и установить значение image_thumb
//product/image_big --> загрузить картинку в локальный каталог components\com_jshopping\files\img_products\import и установить значение jshopping_products.product_name_image и jshopping_products.product_full_image, в записи в jshopping_products.product_images и установить значение image_name, image_full
//product/image_pack --> загрузить картинку в локальный каталог components\com_jshopping\files\img_products\import и завести запись в jshopping_products.product_images, установить значение image_thumb, image_name, image_full, order=10.
//product/size --> в таблице jshopping_products_extra_fields найти соответствующую строку по полю //product/size[@name] == name_ru-RU (case insensitive) и заполнить для продукта соответствующее extra_field_* значением jshopping_products_extra_field_values.id, если удалось найти совпадение входного значения и jshopping_products_extra_field_values.name_en-GB или name_ru-RU.
//product/material --> в таблице jshopping_products_extra_fields найти соответствующую строку по полю //product/size[@material] == name_ru-RU (case insensitive) и заполнить для продукта соответствующее extra_field_* значением jshopping_products_extra_field_values.id, если удалось найти совпадение входного значения и jshopping_products_extra_field_values.name_en-GB или name_ru-RU.
дополнительно:
jshopping_products.product_manufacturer_id - проставляется из константы в коде страницы
jshopping_products_to_categories - заполняется после первого этапа загрузки, пользователь проставляет соответствия найденным входным значениям атрибута category выбором соответствующей категории из выпадающего списка jshopping_categories. Предположительно во входном файле всего несколько категорий, дополнительный объём работы пользователя при импорте видится незначительным.
jshopping_products.extra_field_* на данном этапе не заполняется кроме полей size и material.
Зарегистрируйтесь или войдите на сайт под своим именем.