Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Загрузка заказов В opencart из структурированного СSV напрямую в БД через промежуточную таблицу.


Recommended Posts

Есть CSV файл определенной структуры, в нем имеются заказы, необходимо загрузить эти заказы в Opencart, напрямую в БД, через промежуточную таблицу (для сохранения истории загрузки и всех данных из CSV).

 

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

 

Сам файл в исходнике имеет XLS формат, но я думаю лучше будет его перевести в СSV средствами Win, чем обрабатывать его. 

 

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

 

Список полей в CSV файле, пояснения и действие необходимое с полем при создании заказа в opencart.

  • Если Opencart требует доп поля не описанные ниже, то необходимо заполнить их значениями по умолчанию (статус заказа к примеру)

 

  1. "Номер заказа" - внести в таблицу orders в созданное (не штатное) поле, а так же добавить в комментарий создаваемого заказа, сам номер присвоить по порядку(orders_id)
  2. "Время создания заказа" - присвоить создаваемому заказу
  3. "Стоимость товаров" = стоимость всех товаров. Необходимо вычислить и записать в итоги заказа должно быть равным сумме из источника, если не равно поправить стоимость самого дорого товара или всех пропорционально, в п.7 пояснения.  
  4. "Стоимость доставки" - Присвоить определенной службе доставки (будет создана для этих целей)
  5. "Сумма заказа"  = п.3+п.4-п.6
  6. "Скидка магазина"  = присвоить скидке (будет создана для этих целей)
  7. "Артикул" = многостроковое поле с перечнем ID (совпадают с полем product_id в БД Opencart) и кол-вом - создаем в заказе товары по этому полю, но у создаваемых необходимо умножить кол-во на поле из таблицы product, цену тоже взять из таблицы product (не стандартные поля).
  8. "Примечания к заказу" - перенести в комментарий. 
  9. "Имя получателя" - ФИО но бывает, что вместо ФИО лишь И, или ФИ, итог: разбить на слова: если одно то в "first_name" если два то в "first_name" и "second_name" если три, то Ф в "second_name", ИО в "first_name"
  10. Страна - Россия(по умолчанию) 
  11. Регион - перенести как есть
  12. Город - перенести как есть
  13. Адрес - перенести как есть
  14. Индекс - оставить как есть
  15. Телефон - оставить как есть

 

Если есть вопросы задавайте. 

 

 

Надіслати
Поділитися на інших сайтах


26.02.2022 в 18:42, nikifalex сказал:

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

 

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

У меня задача загружать в опенкарт заказы из файла, номенклатура соответствует только по id. Покупателей в БД опенкарта в большинстве своем нет. 

Змінено користувачем kapel
Надіслати
Поділитися на інших сайтах


26.02.2022 в 18:29, Shureg сказал:

Мда... Ничего не понял. Не моё, точно.

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

Надіслати
Поділитися на інших сайтах


Модулей для выгрузки заказов из опенкарт в CSV не мало (google for that).

Есть и бесплатные.

Скачайте/установите, посмотрите что да как.

link

Надіслати
Поділитися на інших сайтах

Я понял.

Это я написал к тому, что бы человек слил себе экспорт, посмотрел и пере-осознал своё ТЗ.

  • +1 1
Надіслати
Поділитися на інших сайтах

26.02.2022 в 20:42, Tom сказал:

Я понял.

Это я написал к тому, что бы человек слил себе экспорт, посмотрел и пере-осознал своё ТЗ.

Да что ж вы так, вокруг да около, скажите прямо в чем проблема.

 

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

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

 

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

 

Опций у товаров нет. Покупателей регистрировать не надо. Созданный заказ не будет редактироваться, единственное, что с ним будет происходить, это смена статуса. 

Надіслати
Поділитися на інших сайтах


В 27.02.2022 в 02:19, kapel сказал:

Опций у товаров нет. Покупателей регистрировать не надо. Созданный заказ не будет редактироваться, единственное, что с ним будет происходить, это смена статуса. 

Если еще и товары вычитать со склада не надо, то к заказам вашу задачу можно отнести весьма условно. Собственно, вам и опенкарт то нужен постольку поскольку. Не проще будет наоборот, из ОС данные по id и ценам товара получать, и в эксэле с ними развлекаться?

Надіслати
Поділитися на інших сайтах


26.02.2022 в 22:35, Shureg сказал:

Если еще и товары вычитать со склада не надо, то к заказам вашу задачу можно отнести весьма условно. Собственно, вам и опенкарт то нужен постольку поскольку. Не проще будет наоборот, из ОС данные по id и ценам товара получать, и в эксэле с ними развлекаться?

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

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.