Перейти к содержанию
Официальный форум поддержки Simpla

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

Здравствуйте уважаемые форумчане! Подскажите, пожалуйста, как в настройки админки добавить поле минимальное кол-во товара в заказе? Полазил по файлам, а именно /simpla/SettingsAdmin/, /simpla/design/html/settings, а где скрипт, отвечающий за это дело найти и что с ним сделать-не знаю! И если можно: что нужно сделать, чтобы ограничить кол-во одного товара в заказе?

Заранее очень благодарен!

Ссылка на сообщение
Поделиться на другие сайты

 

/*
*
* Добавление варианта товара в корзину
*
*/
public function add_item($variant_id, $amount = 1)  // тут! 
{ 
$amount = max(1, $amount);                          // тут!


if(isset($_SESSION['shopping_cart'][$variant_id]))
      $amount = max(1, $amount+$_SESSION['shopping_cart'][$variant_id]);


// Выберем товар из базы, заодно убедившись в его существовании
$variant = $this->variants->get_variant($variant_id);


// Если товар существует, добавим его в корзину
if(!empty($variant) && ($variant->stock>0) )
{
// Не дадим больше чем на складе
$amount = min($amount, $variant->stock);
     
$_SESSION['shopping_cart'][$variant_id] = intval($amount); 
}
}
[$amount - кол-во товара], 
В public function add_item указываем добавление кол-ва
В public function update_item указываем шаг добавления +1 (по 1 шт товара)
Ссылка на сообщение
Поделиться на другие сайты

 

 

/*
*
* Добавление варианта товара в корзину
*
*/
public function add_item($variant_id, $amount = 1)  // тут! 
{ 
$amount = max(1, $amount);                          // тут!


if(isset($_SESSION['shopping_cart'][$variant_id]))
      $amount = max(1, $amount+$_SESSION['shopping_cart'][$variant_id]);


// Выберем товар из базы, заодно убедившись в его существовании
$variant = $this->variants->get_variant($variant_id);


// Если товар существует, добавим его в корзину
if(!empty($variant) && ($variant->stock>0) )
{
// Не дадим больше чем на складе
$amount = min($amount, $variant->stock);
     
$_SESSION['shopping_cart'][$variant_id] = intval($amount); 
}
}
[$amount - кол-во товара], 
В public function add_item указываем добавление кол-ва
В public function update_item указываем шаг добавления +1 (по 1 шт товара)

То есть, необходимо изменить уже созданный скрипт?

Ссылка на сообщение
Поделиться на другие сайты

$amount = 1 - кол-во = 1 шт

$amount = 7 - кол-во = 7 шт

все что и требуется изменить для мин заказа
пример
public function add_item($variant_id, $amount = 7) // кол-во = 7
    { 
        $amount = max(7, $amount);                 // кол-во = 7
    
        if(isset($_SESSION['shopping_cart'][$variant_id]))
              $amount = max(7, $amount+$_SESSION['shopping_cart'][$variant_id]); 
              // добавляем в корзину по 7 


        // Выберем товар из базы, заодно убедившись в его существовании
        $variant = $this->variants->get_variant($variant_id);


        // Если товар существует, добавим его в корзину
        if(!empty($variant) && ($variant->stock>0) )
        {
            // Не дадим больше чем на складе
            $amount = min($amount, $variant->stock);
         
            $_SESSION['shopping_cart'][$variant_id] = intval($amount); 
        }
    }
Ссылка на сообщение
Поделиться на другие сайты

 

$amount = 1 - кол-во = 1 шт

$amount = 7 - кол-во = 7 шт

все что и требуется изменить для мин заказа
пример
public function add_item($variant_id, $amount = 7) // кол-во = 7
    { 
        $amount = max(7, $amount);                 // кол-во = 7
    
        if(isset($_SESSION['shopping_cart'][$variant_id]))
              $amount = max(7, $amount+$_SESSION['shopping_cart'][$variant_id]); 
              // добавляем в корзину по 7 


        // Выберем товар из базы, заодно убедившись в его существовании
        $variant = $this->variants->get_variant($variant_id);


        // Если товар существует, добавим его в корзину
        if(!empty($variant) && ($variant->stock>0) )
        {
            // Не дадим больше чем на складе
            $amount = min($amount, $variant->stock);
         
            $_SESSION['shopping_cart'][$variant_id] = intval($amount); 
        }
    }

Извините меня пожалуйста, но где это нужно изменить :) ?

Ссылка на сообщение
Поделиться на другие сайты

Имейте в виду, при таком способе покупатель не может сразу положить в корзину менее 7 штук, но зато может потом легко уменьшить количество на странице корзины.

Ссылка на сообщение
Поделиться на другие сайты

В данном случае меняем кол-во в шаблоне на мин кол-во.

 

По хорошему лучше вывести абсолютное число (при дефолде 1 в примере 7) в переменную на пример

$min_amount

и использовать ее в корзине и шаблоне что бы не запутаться

 

ps если кому интересно пишите. по позже выложу в балик модификацию  манипуляции с корзиной 

Ссылка на сообщение
Поделиться на другие сайты

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

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

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

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

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

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

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

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

Загрузка...
×
×
  • Создать...