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

Записи дублируются в таблицах order_product и order


cmd

Recommended Posts

Приветствую.

Заглянул в БД в познавательных целях (все работает ОК, во всяком случае мне так кажется) и заметил, что после оформления заказа в таблицы order_product и order добавляется 2 идентичных поля. Отличаются только индексы и в колонке order_status_id у одного из заказов стоит "0" т.е. несуществующее значение т.к. в таблице order_status первый индекс "1".

В чем подвох?

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

Все именно так и должно быть, как раз недавно разбирался с данным вопросом, краткий вывод – не стоит забивать себе этим голову!

Если принципиально важно разобраться в вопросе - могу аргументировать! :wink:

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


Все именно так и должно быть, как раз недавно разбирался с данным вопросом, краткий вывод – не стоит забивать себе этим голову! Если принципиально важно разобраться в вопросе - могу аргументировать! :wink:

Спасибо, успокоили. Если не сложно, то не откажусь от краткого пояснения для каких целей создается дубль.

P.S. Хрень какая-то. Отключил 2-ой и 3-ий язык (оставил один) и запись в базу без дубля. Хотя в этих таблицах нет языкового поля. С чего в друг... Сейчас буду искать...

Так... Запись в 4-ой и 9-ой строке соответственно catalogmodelcheckoutorder.php

Дублей нет. Значит где-то 2 раза вызывается функция addOrder класса ModelCheckoutOrder

Ищем. Находим:

catalogcontrollercheckoutconfirm.php один вызов в 327 строке.

Не пойму. Откуда дубль берется?

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

Ну, если так, то вот цитата из переписки с Русланом Брестом (разработчик QuickCheckout):

В OpenCart при стандартном оформлении заказа всё проходит за несколько четко разграниченных шагов. Поскольку на любом из этих шагов покупатель может столкнуться с проблемами (или просто устать и всё бросить), они фиксируют эти действия и впоследствии админ может видеть эти промежуточные шаги в "брошенных заказах".

При стандартном оформлении заказ постепенно собирается, при переключениях и возвратах это фиксируется и записывается в базу, а когда человек доходит до конца - последняя такая запись помечается как завершенный заказ. То есть выбрал один способ доставки, прошёл дальше - есть запись, передумал, вернулся, изменил на самовывоз - ещё запись. Передумал на последнем шаге платить визой и вернулся на предыдущий шаг, чтобы WMZ или QIWI выбрать - ещё одна.

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

Удачи! :wink:

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


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

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

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

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

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

Вхід

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

Вхід зараз

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

Important Information

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