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

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

Добрый день, друзья!

 

У нас реализована система подарков (акции), которые предлагаются клиенту в корзине, при достижении определенной суммы. (Например любой из 3 товаров на выбор, если сумма заказа выше 1000 рублей и подарок предлагается на каждые 1000 рублей). То есть при заказе на сумму, например, 4000 рублей, он сможет выбрать по очереди 4 подарка из 3 возможных товаров.

 

Суть проблемы в следующем: 

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

Акция такова: от 1200 один товар в подарок, а от 1400 другой.

Соответственно, если клиент заказал на 1500, то он может выбрать уже из двух товаров по этим акциям, но текущая реализация данной функции выводит на данную сумму только товар от 1400.

 

Вот код из View:

 

public function get_stock_products_plugin($params, &$smarty)
    {
        if(!isset($params['total_price']) or $params['total_price'] == 0) {
            return false;
        }
        
        if(!isset($params['visible']))
        $params['visible'] = 1;
        
        $query = $this->db->placehold("SELECT * FROM __categories WHERE stock = 1 AND visible = 1 AND stock_price <= ".$params['total_price']." ORDER BY stock_price DESC");
        $this->db->query($query);
        $result = $this->db->result();
        $stock_price = $result->stock_price;
        $stock_kol = $result->stock_kol;
        
        $cart = $this->cart->get_cart();
        $price = $cart->total_price + $cart->coupon_discount;
        if($stock_price > 0) {
            $koef = floor($price/$stock_price);    
        }
        
        if($koef > 1) {
            $stock_kol = $stock_kol * $koef;
        }
        
        
        if(isset($result->id) and $result->id > 0 AND $stock_kol > $params['stock_kol']) {
          $params = array('category_id' => $result->id, 'var' => 'stock');
          $this->get_wok_products_plugin($params, $smarty);
        } else return false;
        
    }    

В таблице categories в базе добавлены 3 столбца: stock (акционная категория или нет), stock_kol (кол-во подарков, который можно выбрать при достижении суммы stock_price) и stock_price.

 

В категориях автоматически созданы две категории 1200 и 1400, куда залиты по 1 товару по нулевой цене.

 

Вот выгрузка по запросу из кода выше для суммы 1500.

 

SELECT * FROM __categories WHERE stock = 1 AND visible = 1 AND stock_price <= 1500 ORDER BY stock_price DESC

post-23045-0-59192600-1510813965_thumb.png

 

Мне нужно разобраться как заставить данный код считать подарки от суммы для обеих акций и выводить оба товара. Если проще работать с одной категорией, но ввести какой-то отдельный параметр у товара для этой категорий, где будет заполнена сумма (1200, 1400), то без проблем. Просто очень нужно решить этот вопрос. 

Надеюсь я все понятно объяснил.

 

Заранее спасибо.

Изменено пользователем PALERMO
Ссылка на сообщение
Поделиться на другие сайты

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

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

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

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

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

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

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

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

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