Перейти к содержанию
  • В связи с блокировкой банка QIWI оплата через сайт не возможна.
    Для оплаты и получения дополнений просьба писать в личные сообщения
    Admin*у
    После оплаты Вам так же будет доступно скачивание дополнений и обновлений на данном форуме

Как сделать добавление только 1 товара и не более


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

 Нужно чтобы в корзину можно было добавить только 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 при добавлении одинакового товара

Ссылка на комментарий

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

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

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

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

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

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

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

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

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

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