admin Опубликовано 21 марта, 2022 Поделиться Опубликовано 21 марта, 2022 Нужно чтобы в корзину можно было добавить только 1 одинаковый товар. То есть чтобы было перчатки красные 1 шт, ботинки черные 1 шт. И не было возможности добавить перчатки красные 3 шт. в файле \catalog\controller\checkout\cart.php после строк foreach ($product_options as $product_option) { if ($product_option['required'] && empty($option[$product_option['product_option_id']])) { $json['error']['option'][$product_option['product_option_id']] = sprintf($this->language->get('error_required'), $product_option['name']); } } вставить следующий код $products = $this->cart->getProducts(); $yes = 1; foreach ($products as $product) { if ($product['product_id'] == $product_id) { $yes = 0; foreach ($product_options as $product_option) { foreach ($product['option'] as $option_cart) { if($product_option['product_option_id'] == $option_cart['product_option_id']) { if(!isset($option[$product_option['product_option_id']])) { $option[$product_option['product_option_id']] = ""; } if(!isset($option_cart['value'])) { $option_cart['value'] = ""; } if($option[$product_option['product_option_id']] != $option_cart['value']) $yes = 1; } } } } } if($yes == 0) $json['error']['recurring'] = $this->language->get('error_recurring_required'); Товар с одинаковым ID добавляет в корзину повторно только если у него отличается хотя бы одна опция. Если опции одинаковые товар повторно не добавляется. в файле system/library/cart/cart.php функция public function add( закоментировать строку // $this->db->query("UPDATE " . DB_PREFIX . "cart SET quantity = (quantity + " . (int)$quantity . ") WHERE она отвечает за увеличение quantity при добавлении одинакового товара 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.