selin Posted August 14, 2023 at 05:43 PM Share Posted August 14, 2023 at 05:43 PM Здравствуйте! Первый раз работаю как со сборкой OpenCart 3 club edition, так и с этой функцией, поэтому не пойму, в чем засада. Это какой-то баг тройки, сборки или все так и задумано. Заказы оформляются покупателями через сайт по базовой или дисконтным ценам, дисконты привязаны к группам покупателей. Если потом заказ редактировать через админку, например, может потребоваться изменить количество заказанного товара, то на вкладке редактирования корзины все цены меняются на базовую, т.е. группа покупателя и соответствующие ей дисконтные цены игнорируются. Почему так происходит и что с этим можно сделать? Очевидно, что цена за ед.товара должна оставаться той, по которой покупатель оформлял заказ, соответствующей его группе. Заранее спасибо, кто сможет что-то посоветовать. 0 Quote Link to comment Share on other sites More sharing options...
chixx Posted August 14, 2023 at 06:22 PM Share Posted August 14, 2023 at 06:22 PM В 14.08.2023 в 20:43, selin сказал: Здравствуйте! Первый раз работаю как со сборкой OpenCart 3 club edition, так и с этой функцией, поэтому не пойму, в чем засада. Это какой-то баг тройки, сборки или все так и задумано. Заказы оформляются покупателями через сайт по базовой или дисконтным ценам, дисконты привязаны к группам покупателей. Если потом заказ редактировать через админку, например, может потребоваться изменить количество заказанного товара, то на вкладке редактирования корзины все цены меняются на базовую, т.е. группа покупателя и соответствующие ей дисконтные цены игнорируются. Почему так происходит и что с этим можно сделать? Очевидно, что цена за ед.товара должна оставаться той, по которой покупатель оформлял заказ, соответствующей его группе. Заранее спасибо, кто сможет что-то посоветовать. Модуль поможет 1 Quote Link to comment Share on other sites More sharing options...
selin Posted August 15, 2023 at 07:39 AM Author Share Posted August 15, 2023 at 07:39 AM Модуль кажется хорошим, жаль автор не ответил на вопросы покупателей о совместимости с симплом, там может возникнуть проблема с кастомными полями. Ну, попробую связаться и выяснить, если что. Радует обещание тестового периода. Но пока есть время, было бы интересно разобраться самостоятельно в этой проблеме. Первое, что приходит в голову, передавать в api/cart/products номер заказа и добавить аргумент order_id и его проверку в cart->getProducts(), и при наличии отдавать не актуальную цену, а цену из истории заказа. Но будет ли этого достаточно или есть какие-то подводные камни? Надеюсь, кому-нибудь будет интересно это обсудить) Оказывается, уважаемого OC-создателя уже много лет достают этим вопросом, на что он отвечает в том духе, что редактирование заказов это вообще вредная практика и добавлено только в виде одолжения, поэтому и за это скажите спасибо. И угрожает забанить недовольных) Эх. 0 Quote Link to comment Share on other sites More sharing options...
nikifalex Posted August 16, 2023 at 07:38 AM Share Posted August 16, 2023 at 07:38 AM В 15.08.2023 в 13:39, selin сказал: автор не ответил на вопросы покупателей о совместимости с симплом, там может возникнуть проблема с кастомными полями. такой проблемы нет, если установите модификатор из комплекта. В 15.08.2023 в 13:39, selin сказал: при наличии отдавать не актуальную цену, а цену из истории заказа мне кажется это есть в этом модуле. как и непересчет итогов. 0 Quote Link to comment Share on other sites More sharing options...
selin Posted August 16, 2023 at 08:38 AM Author Share Posted August 16, 2023 at 08:38 AM (edited) В 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 Опций у товаров нет, редактирования заказов пока достаточно только на удаление товаров или изменение количества (без добавления товаров, это думаю можно будет отдельными заказами делать). Кажется все просто. Но так ли это на самом деле?) Edited August 16, 2023 at 08:39 AM by selin 0 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.