Помощь Найти минимальную скидку

Тема в разделе "Opencart", создана пользователем animal_x, 23 дек 2014.

Информация :
Внимание форумчане! При создании тем, или выкладывании какой-либо информации проверьте в какой ветке форума вы находитесь! Не путайте Opencart и Opencart2. При несоблюдении данного условия выносится соответствующее наказание! И потом не говорите что вас НЕ ПРЕДУПРЕЖДАЛИ! По возможности используйте обменники mail, yandex, google, dropbox, rghost Дабы избежать просьб перезалить и проблем с рекламой!
Модераторы: ZiX
  1. animal_x

    animal_x

    Регистр.:
    22 июн 2012
    Сообщения:
    404
    Симпатии:
    133
    Подскажите как можно найти и вывести в карточке товара минимальную цену скидки. Т.е у каждого товара несколько цен заданных скидкой, нужно вывести в карточке наименьшую.

    Нужно найти минимальную цену в массиве скидок и вывести ее вместо цены. Вот как на демке - Перейти по ссылке, под ценой идут Скидки, которые задаются в карточке товара. Мне нужно найти минимум, в данном случае 79.88.

    Пока сделал это в шаблоне так:

    PHP:
            <?php if ($discounts) { ?>
            <div class="discount">от
          <?php $price_min $price?>
              <?php foreach ($discounts as $discount) { ?>
                  <?php if ($discount['price'] < $price) {
                
    $price_min $discount['price'];
            } 
    ?>
              <?php ?>
            <?php echo $price_min?>
            </div>
            <?php } else { ?>
            <?php echo $price?>
            <?php ?>
    Но хотелось бы все это реализовать через контроллер. В /catalog/controller/product/product.php есть такой код:
    PHP:
                $discounts $this->model_catalog_product->getProductDiscounts($this->request->get['product_id']);
               
                
    $this->data['discounts'] = array();
               
                foreach (
    $discounts as $discount) {
                    
    $this->data['discounts'][] = array(
                        
    'quantity' => $discount['quantity'],
                        
    'price'    => $this->currency->format($this->tax->calculate($discount['price'], $product_info['tax_class_id'], $this->config->get('config_tax')))
                    );
                }
    Думаю нужно в это массиве находить минимальную цену и назначить на нее переменную. Есть функция min(array()), но не знаю как ее правильно примнеить или может по другому как-то.
     
    Последнее редактирование модератором: 24 дек 2014
  2. xprocessorx

    xprocessorx

    Регистр.:
    27 авг 2014
    Сообщения:
    205
    Симпатии:
    249
    А не проще сразу в админке проставить необходимую цену товара?
     
  3. animal_x

    animal_x

    Регистр.:
    22 июн 2012
    Сообщения:
    404
    Симпатии:
    133
    Не проще, у товара будет много разных цен в зависимости от количества покупаемого (сайт для оптовых покупок). Если поставлю минимальный то по этой цене и будет покупать от 1 штуки.
     
  4. xprocessorx

    xprocessorx

    Регистр.:
    27 авг 2014
    Сообщения:
    205
    Симпатии:
    249
    Ясно. Давай еще раз. Значит вместо цены будет выводиться минимальная цена (там должно указываться количество товара или просто цена?), далее, первая и вторая цена (перед минимальной) их убрать надо или оставить на том же месте?
     
  5. animal_x

    animal_x

    Регистр.:
    22 июн 2012
    Сообщения:
    404
    Симпатии:
    133
    да, написато "от" и минимальная цена на основании скидок

    массив со всеми ценами скидок остается, его не трогаем , я просто показал для наглядности на картинке
     
  6. xprocessorx

    xprocessorx

    Регистр.:
    27 авг 2014
    Сообщения:
    205
    Симпатии:
    249
    Какая версия opencart? И какой шаблон?
     
  7. animal_x

    animal_x

    Регистр.:
    22 июн 2012
    Сообщения:
    404
    Симпатии:
    133
    Какая разница? Вы что тоже собщения набиваете себе? Функция в контроллее стандартная. Тут нужны больше php знания чем opencart
    ocStore 1.5.4, шаблон Sellya
     
  8. xprocessorx

    xprocessorx

    Регистр.:
    27 авг 2014
    Сообщения:
    205
    Симпатии:
    249
    Ну что? Нашел решение? У меня есть пару задумок