Перейти к содержанию

Редактирование заказов через админку


Рекомендуемые сообщения

Здравствуйте! Первый раз работаю как со сборкой OpenCart 3 club edition, так и с этой функцией, поэтому не пойму, в чем засада. Это какой-то баг тройки, сборки или все так и задумано.

Заказы оформляются покупателями через сайт по базовой или дисконтным ценам, дисконты привязаны к группам покупателей. Если потом заказ редактировать через админку, например, может потребоваться изменить количество заказанного товара, то на вкладке редактирования корзины все цены меняются на базовую, т.е. группа покупателя и соответствующие ей дисконтные цены игнорируются. Почему так происходит и что с этим можно сделать? Очевидно, что цена за ед.товара должна оставаться той, по которой покупатель оформлял заказ, соответствующей его группе.

Заранее спасибо, кто сможет что-то посоветовать.

Ссылка на комментарий
Поделиться на другие сайты

В 14.08.2023 в 20:43, selin сказал:

Здравствуйте! Первый раз работаю как со сборкой OpenCart 3 club edition, так и с этой функцией, поэтому не пойму, в чем засада. Это какой-то баг тройки, сборки или все так и задумано.

Заказы оформляются покупателями через сайт по базовой или дисконтным ценам, дисконты привязаны к группам покупателей. Если потом заказ редактировать через админку, например, может потребоваться изменить количество заказанного товара, то на вкладке редактирования корзины все цены меняются на базовую, т.е. группа покупателя и соответствующие ей дисконтные цены игнорируются. Почему так происходит и что с этим можно сделать? Очевидно, что цена за ед.товара должна оставаться той, по которой покупатель оформлял заказ, соответствующей его группе.

Заранее спасибо, кто сможет что-то посоветовать.

Модуль поможет 

 

Ссылка на комментарий
Поделиться на другие сайты

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

 

Первое, что приходит в голову, передавать в api/cart/products номер заказа и добавить аргумент order_id и его проверку в cart->getProducts(), и при наличии отдавать не актуальную цену, а цену из истории заказа. Но будет ли этого достаточно или есть какие-то подводные камни? Надеюсь, кому-нибудь будет интересно это обсудить) Оказывается, уважаемого OC-создателя уже много лет достают этим вопросом, на что он отвечает в том духе, что редактирование заказов это вообще вредная практика и добавлено только в виде одолжения, поэтому и за это скажите спасибо. И угрожает забанить недовольных) Эх.

Ссылка на комментарий
Поделиться на другие сайты

В 15.08.2023 в 13:39, selin сказал:

автор не ответил на вопросы покупателей о совместимости с симплом, там может возникнуть проблема с кастомными полями.

такой проблемы нет, если установите модификатор из комплекта.

 

В 15.08.2023 в 13:39, selin сказал:

при наличии отдавать не актуальную цену, а цену из истории заказа

мне кажется это есть в этом модуле. как и непересчет итогов.

 

 

Ссылка на комментарий
Поделиться на другие сайты

В 16.08.2023 в 10:38, nikifalex сказал:

мне кажется это есть в этом модуле. как и непересчет итогов.

 

Да, судя по демо, там подгружается именно цена из заказа, доступная для редактирования. И дополнительно инф.поле с текущей базовой ценой и акционной если есть. Дисконтные тоже должны отображаться, хотя вряд ли там будет учтена привязка дисконта к группе покупателя. Ну это не критично, на худой конец можно вообще отключить эту колонку. В общем, очень неплохо все выглядит. Но по секрету: я по незнанию уже пообещала людям, что редактирование заказа корректно работает из коробки, поэтому не хотелось бы заморачиваться с обоснованием дополнительных трат, если это действительно можно решить за несколько часов)) Да и интересно разобраться. Вот только подтвердил бы кто, что это действительно заработает, чтобы время не терять) Так что еще раз, идея такая:


- в api/cart/products отправляем order_id, аналогично тому, как уже сделано для /api/order/edit
- в cart->getProducts() добавляем параметр order_id=0
- во все вызовы cart->getProducts() из products() и edit() отправляем order_id, там, если не 0, берем цену из oc_order_product

 

Опций у товаров нет, редактирования заказов пока достаточно только на удаление товаров или изменение количества (без добавления товаров, это думаю можно будет отдельными заказами делать).
Кажется все просто. Но так ли это на самом деле?)

Изменено пользователем selin
Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...