Модуль импорта в PrestaShop для php-гуру

Комаров13 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
09.12.2012

Нужно разработать Модуль для импорта в PrestaShop версий 1.4, 1.5

ТЗ следующее:

Общие положения по Модулю (далее М.)

Следующие пункты верны для М.

1. М. импортирует csv файлы большого объема, варианты до 200 МБ.

2. М. работает на слабых хостингах .Ограничение по памяти - 64 мб на процесс, по времени выполнения php скрипта - 30 секунд).

3. М. работает на php версиях 4.x & 5.x.

4. М. сперва преообразует данные из ЦСВ файла во “внутренние” объекты (категория и продукт), а затем внутренний продукт сохраняет в формат продукта ЦМС с которой работает в данный момент (например престашоп или ОпенКарт или VirtueMart).

5. М. может принимать данные не только из ЦСВ файла, но и из внешнего источника с данными (WebService) через RestFull API, Реализовывать не надо, но на будущее учесть этот пункт.

6. М. разрабатываеся так, чтобы в будущем легко добавить поддержку “новой” CMS.

7. пропущен ...

8. М. имеет систему логирования, где подробно описывает ошибки последнего импорта.

9. М. если видит, что у продукта описано много картинок и они описаны ссылками, загружает картинки в CMS автоматически, иначе же просто создает требуемые записи в БД.

10. М. отображает во время импорта текущее положение дел: количество ошибок, процент завершения процесса, М. можно остановить во время импорта, нажав на кнопку “Stop”.

11. М. привызывается к столбцам по их имени, а не по “положению”, некорректный формат отсекается на старте процесса.

12. М. поддерживает экспорт данных в “Нашем формате”.

То что хочется сделать в формате CSV:

- один товар - одна строка файла, разделитель - “точка с запятой” - экранатор - ковычки “

- файл редактируемый в Excel \ OpenOffice. т.е. пользователь может его открыть и сам отредактировать

- в одной ячейки определен путь в категорию товара, разделитель - “\\” , два слэша

- автозагрузка картинок (если есть ссылки)

- апдейт по артикулу

- пользователю не нужно что-либо настраивать после загруженого файла (осуществляется через метки в названии колонок “general:color”, “attribute:name”)

- опциональные аттрибуты задаются через [next], если их несколько, например цвет

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

- предложить формат ЦСВ