Здравствуйте! Сегодня выяснилось, что товары остаются висеть в корзине у зарегистрированных пользователей даже после того, как заказ получил статус завершенный. UPD: они появляются в корзине снова при начале новой сессии, после удаления вручную. Версия 2.0.3.1 (rs.2), шаблон стандартный. Решения в интернете не нашла, так что буду рада любому совету. Спасибо!
Ravilr, заказ оформился, товаров нет в корзине, пользователь логинится в следующий раз и они появляются
+ пользователь жаловался, что товар из прошлого заказа появлялся при добавлении новой позиции. то есть, корзина была пустая, добавили новый товар, в результате их оказалось два.
вообще может и ошибка. Надо потестировать. В опенкарте после 2.0.3.1 много чего с сессиями делали, видимо из за таких багов.
мне не удалось повторить такого как у вас. Проверил на локалке.. работает отлично. Вы сами у себя пробовали так ?? Получилось?? Или только по слухам пользователей?
Товары из прошлых заказов при добавлении нового у меня не появлялись. Тут повторить не получилось. Но если зайти в магазин под другими пользователями, товары из последнего заказа у них висят. Тут я человек 10 проверила. Нашлось решение. На первый взгляд работает, будем тестировать тщательнее и отпишемся по результатам. в catalog/model/checkout/order.php добавить строчку: $this->cart->clear();
Все и так есть, при success HTML: class ControllerCheckoutSuccess extends Controller { public function index() { $this->load->language('checkout/success'); if (isset($this->session->data['order_id'])) { $this->cart->clear(); конечно висят, если они не удалились при оформлении или не дооформили..
Пардон, что поднимаю старую тему, но баг, по крайней мере в версии 2.1, присутствует. Всё дело в том, что зайдя в редактирование товара в админ. части, в корзину (таблицу `cart`) добавляется запись, как если бы товар добавлял покупатель и кроме всего прочего, в эту таблицу записывается ID покупателя. По понятным причинам, если в это же время на сайте крутится этот покупатель, то по его ID вытягиваются и записи из таблицы `cart`. Но это еще не всё... После того, как вы завершили редактирование товара в админке, запись из таблицы `cart` не удаляется. Поэтому, если и не было покупателя в этот момент на сайте, а он зашёл через лет 150, то всё равно в корзине он обнаружит свой заказанный товар. Для полной уверенности, проверял на абсолютно девственном движке, без единого плагина/расширения и т.д. P.S. На этой информации я хотел остановится, но понимаю, что будут вопросы о том, как это пофиксить. Пожалуй, я промолчу о качестве этой CMS в целом, т.к. на форуме почитателей оной, было говорить неуместно, но мне пришлось переписать не менее 80% процентов кода и мои решения не подойдут к стандартному коду. Единственное, что могу предложить - это очищать корзину после сохранения редактирования заказа в админке (catalog\controller\api\order, метод edit) и после этого редирект к списку заказов (можно на уровне JS, после успешного завершения ajax-запроса). По крайней мере, это избавит покупателя от недоумения , когда он зайдёт в следующий раз.
если бы был, то тут бы 1000 тем уже создали про это. Проблема возникает от сторонних факторов. И после завершения оформления заказа все хорошо, корзина очищается. Другое дело, когда вы редактируете заказ.. и на это тоже есть выход. Вроде обсуждали..
почему бы и нет. Код переписывается постоянно (в версии 2.3 переписали 80% наверно) и вы тоже можете переписать его. Выложить на гитхаб.. все будут только рады.
Прежде всего, я хочу акцентировать внимание на том, что мы говорим о версии 2.1 и особо подчеркну, что холиварить ни с кем принципиально не буду. А многие знают о том, что в OC есть Remote File Include (RFI), Cross Site Scripting (отражённый), уязвимость к SQL-инъекцииям, External Redirect, отсутствии заголовков X-Frame-Options, Parameter Tampering, Cookie No HttpOnly Flag, Cross-Domain JavaScript Source File Inclusion, остутствии Web Browser XSS Protection и Anti-MIME-Sniffing header X-Content-Type-Options и т.д.? А ведь вся эта беда сплошь и рядом присутствует в ОС. Думаю, что 99% пользователей форума, даже некоторых слов таких не знают. А знаете почему? Потому, что они обычные пользователи, которые мало что понимаю в программировании и слепо используют то, что им дают. А дают, по сути, бесплатный сыр в мышеловке. Поэтому можете мне не рассказывать про "1000 тем" А проверить мои слова очень легко: 1. Скачиваете и устанавливаете OC 2.1.0.1 2. Для чистоты эксперимента, открываете два браузера 3. В одном браузере регистрируетесь и заказываете товар. Корзина очистилась. 4. Во втором браузере, заходите в редактирование заказа и доходите хотя бы до второй этапа (Закладка Products) 5. Теперь возвращаемся в браузер с покупателем, обновляем страницу смотрим в корзину. Можете продолжить редактирование вплоть до сохранения и выхода, но результат останется прежним. Особым "приятным" сюрпризом будет то, если пользователь удалит из корзины этот "внезапный" товар, а в это время вы его редактировали. О результате вы можете догадаться Успехов.
Добрый день ОС 2.1х После удаления товара на странице оформления заказа, товар в корзине остаётся висеть При перезагрузке страницы товар в корзине пропадает. Есть ли решение этой проблемы? Прошу помощи!