[Помогите] Добавление в корзину самого дорого товара.

Тема в разделе "OpenCart", создана пользователем weber, 23 мар 2013.

  1. weber

    weber

    Регистрация:
    7 фев 2013
    Сообщения:
    98
    Симпатии:
    32
    Здравствуйте, друзья. Думаю над решением одной задачки, нужно реализовать учет в корзине по цене самого дорого товара, механизм примерно такой:

    куплены 3 товара, товар №1 по цене 10 руб., товар №2 - 20 руб, товар №3 - 30 руб. Нужно не суммировать цену всех трех товаров и получить 60 руб., а посчитать по цене самого дорогого из выбранных.

    Не встречал ли никто модуля с подобным функционалом? Поискал, не нашел.
     
  2. kur1977

    kur1977

    Регистрация:
    11 фев 2013
    Сообщения:
    123
    Симпатии:
    59
    Не понятно зачем такое надо, ну да ладно.
    В файле system\library\cart.php
    Функцию
    PHP:
    public function getSubTotal() {
            
    $total 0;
           
            foreach (
    $this->getProducts() as $product) {
                
    $total += $product['total'];
            }
     
            return 
    $total;
          }
    Замените на
    PHP:
    public function getSubTotal() {
    $total 0;

    ///// add
    $max=0;
    ///////
    foreach ($this->getProducts() as $product) {
    if(
    $product['total']>$max)$max=$product['total'];
    }
    //return $total;
    return $max;
    }
     
    Gera и weber нравится это.
  3. weber

    weber

    Регистрация:
    7 фев 2013
    Сообщения:
    98
    Симпатии:
    32
    Даже не думал что все настолько просто, спасибо сказал кнопочкой:Smile:
    А к вопросу о том зачем такое может понадобиться - это для магазина который продает не товары, а услуги. И смысл в том, что покупка более дорогого пакета уже включает в себя возможности более дешевого, поэтому не нужно дублировать. Как-то так.