admin Опубликовано 12 марта, 2022 Поделиться Опубликовано 12 марта, 2022 Сортировка товаров в корзине по порядку добавления В Opencart с 2.x сортировка товаров в корзине не соответствует порядку их добавления. Например мы добавили домофон, кабель к нему и монитор. Так вот в корзине может быть нарушен порядок, то есть сначала будет идти кабель, потом монитор а уже после них первый добавленный домофон. Согласитесь, это не совсем логично. Виной всему будет выборка из базы данных в таблице cart. Дело в том что при запросе в базу нет условия сортировки и данные идут как им захочется. Что бы структурировать их необходимо в файле system/library/cart/cart.php строку $cart_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "cart WHERE api_id = '" . (isset($this->session->data['api_id']) ? (int)$this->session->data['api_id'] : 0) . "' AND customer_id = '" . (int)$this->customer->getId() . "' AND session_id = '" . $this->db->escape($this->session->getId()) . "' ORDER BY date_added ASC"); Таким образом в конец запроса мы добавили условия сортировки - сортировать по дате добавления по возрастания. После чего в корзине будут идти товары в той последовательности в которой их добавили туда. 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Анастасия Михеева Опубликовано 11 апреля, 2022 Поделиться Опубликовано 11 апреля, 2022 Добрый день! В ocStore 2.3 этой проблемы нету, а вот Opencart 3.0, как раз таки есть. Может подскажите как исправить это в opencart 3.0? 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Анастасия Михеева Опубликовано 11 апреля, 2022 Поделиться Опубликовано 11 апреля, 2022 В 11.04.2022 в 17:11, Анастасия Михеева сказал: Добрый день! В ocStore 2.3 этой проблемы нету, а вот Opencart 3.0, как раз таки есть. Может подскажите как исправить это в opencart 3.0? Нашла, у вас статья не дописана! в файле system/library/cart/cart.php строку $cart_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "cart WHERE api_id = '" . (isset($this->session->data['api_id']) ? (int)$this->session->data['api_id'] : 0) . "' AND customer_id = '" . (int)$this->customer->getId() . "' AND session_id = '" . $this->db->escape($this->session->getId()) . "'"); Заменить на: $cart_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "cart WHERE api_id = '" . (isset($this->session->data['api_id']) ? (int)$this->session->data['api_id'] : 0) . "' AND customer_id = '" . (int)$this->customer->getId() . "' AND session_id = '" . $this->db->escape($this->session->getId()) . "' ORDER BY date_added ASC"); 2 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
admin Опубликовано 11 апреля, 2022 Автор Поделиться Опубликовано 11 апреля, 2022 В 11.04.2022 в 15:27, Анастасия Михеева сказал: Нашла, у вас статья не дописана! спасибо, исправлено 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.