Импорт данных из xml в JoomShopping

Все проекты
Прошло времени:   11 лет 7 месяцев 2 недели 7 часов 9 минут
Необходимо создать робота-парсера для импорта данных из XML заданной структуры в БД JoomShopping 3.15.3. Предполагается реализация в виде страницы либо набора страниц php, размещённых непосредственно на сервере.

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

Требования:
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.
    Видеть контакты заказчика и оставлять свои предложения по проекту могут только зарегистрированные и авторизованные пользователи.
    Зарегистрируйтесь или войдите на сайт под своим именем.

    Фриланс-биржа Web-lance.net предлагает огромные возможности по поиску работы как опытным специалистам в сфере интернет-бизнеса, так и новичкам, только постигающим основы заработка во всемирной сети. Здесь вы найдете сотни интересных вакансий в сфере дизайна, копирайтинга, программирования, верстки, контент-менеджмента и других сфер деятельности востребованных среди интернет-пользователей. Также, зарегистрировавшись на бирже, вы сможете разместить здесь свою анкету, указав в ней свою специализацию и контактные данные, что даст возможность потенциальным клиентам, связаться с вами для дальнейшего взаимовыгодного сотрудничества. Сайт удобно структурирован и разбит на тематические разделы, что позволяет даже неопытным заказчикам точно определять категорию, в которую стоит публиковать их проект, в тоже время, упрощая исполнителям поиск интересующих их вакансий. Кроме того на портале имеется раздел Блоги где зарегистрированные пользователи могут публиковать материалы, а также Форум на котором исполнители и заказчики смогут обсудить рабочие моменты, а также пообщаться на интересующие их темы. Приятной вам работы на Web-lance.net - бирже, где вы сможете найти лучших исполнителей и самые интересные проекты.

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