0 / 0 / 1
Регистрация: 04.03.2015
Сообщений: 16
1

Пересчет цены в зависимости от количества в корзине

04.03.2015, 19:34. Показов 827. Ответов 0
Метки нет (Все метки)

Доброго времени суток!
Есть магазин на БМшоп 5.
Нужно чтобы при выборе двух товаров скидка была 5%, 3х - 10%, 4х-15%, 5 и более - 20%.
Пересчет должен происходить в корзине при вводе количества.
Мучаюсь с контроллером корзины.
Казалось бы можно сделать несколько условий, но корзина перестает работать.
Вот код стандартный:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
 function indexAction(array $params)
    {
        $items = (array)json_decode(stripslashes(@$_COOKIE['cart']),true);
        
        $total = 0;
        $products = $this->model->product->getByIds(array_keys($items));
        foreach ($products as $product)
        {
            $count = array_key_exists($product->id,$items) ? $items[$product->id] : 1;
            $count = preg_match('@^[0-9]+$@i',$count) ? $count : 1;
            $this->tpl->assignBlockVars('product', array(
                'ID'   => $product->id,
                'NAME' => $product->name,
                'PRICE' => $product->price,
                'COUNT' => $count,
            ));
!!!!!!
            $total+= $count*$product->price;
        }
    
        $this->tpl->assignVars(array(
            'PRICE_TOTAL'=>$total
        ));
    }
    
    function totalAction(array $params)
    {
        $items = (array)json_decode(stripslashes(@$_COOKIE['cart']),true);
        
        $total = 0;
        $products = $this->model->product->getByIds(array_keys($items));
        foreach ($products as $product)
        {
            $count = array_key_exists($product->id,$items) ? $items[$product->id] : 1;
            $count = preg_match('@^[0-9]+$@i',$count) ? $count : 1;
!!!!!!
            $total+= $count*$product->price;
        }
        die((string)$total);
    }
Я пытался вписать if ($count=1).....elseif ($count=2) и т.д. Внутрь условия помещал $total+= $count*$product->price; и еще добавлял множитель. Эту всю комбинацию вставлял туда где отмечено !!!!!! вместо выражения ниже.

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

Очень хочу решить этот вопрос, но все советы с гугла мне не помогли. Спасибо!!

Добавлено через 23 минуты
Можно закрыть тему, так как решение уже нашел
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.03.2015, 19:34
Ответы с готовыми решениями:

VirtueMart Пересчет итоговой цены в зависимости от выбранного количества товара
Подскажите, а в virtuemart 2 реализовано следующее: Пересчет итоговой цены в зависимости от...

Отображение цены в корзине
Все скриншоты в приложении ниже. На сайте для незарегистрированного пользователя должна быть видна...

Обработать цены из прайса поставщика по группе правил, в зависимости от величины цены
Задача следующая: нужно обработать цены из прайса поставщика по группе правил, в зависимости от...

Программа расчета цены продуктов в корзине цена=вес*(стоимость кг)*(количество продукта)
Программа расчета цены продуктов в корзине цена=вес*(стоимость кг)*(количество продукта).

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.03.2015, 19:34
Помогаю со студенческими работами здесь

Пересчет цены за все услуги при удалении строки табличной части документа.
Если убрать одну услугу отсюда, то цена остается вместе с предыдущей услугой которую убрали, как...

Установка значения количества товаров в корзине ubercart
Здравствуйте! Есть интернет-магазин. При заказе товара из общего списка, сразу переходим в корзину....

Баг при изменении количества товара в корзине
В общем такая проблема, при изменении количества товара с общей стоимостью происходит что-то...

Обработка количества товаров в корзине asp.net mvc
Здравствуйте! Изучаю asp.net mvc и решил сделать интернет магазин по книге Адама Фримена....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru