• Объявления

    • dinox

      Закрытый раздел разработчиков   21.08.2017

      У нас на форуме существует закрытый раздел для разработчиков в котором мы обсуждаем нюансы работы на нашем форуме, в каталоге дополнений и другие моменты которые интересны в большинстве случаев только разработчикам. На данный момент существует лишь 2 условия для попадания:
      1. Наличие промодерированного дополнения в нашем каталоге  2. Отсуствие варезной деятельности 
      Если эти правила выполнены, пишите запрос @ArtemPitov на попадание в раздел разработчиков
ANiMAL

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

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

ANiMAL    3

Подскажите как можно найти и вывести в карточке товара минимальную цену скидки. Т.е у каждого товара несколько цен заданных скидкой, нужно вывести в карточке наименьшую.

Поделиться сообщением


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

Tom    1 931

Так что ли?

 

http://demo.myopencart.ru/index.php?route=product/product&product_id=42

 

10 или более $105.84
20 или более $92.86
30 или более $79.88

Поделиться сообщением


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

ANiMAL    3

Так что ли?

 

http://demo.myopencart.ru/index.php?route=product/product&product_id=42

 

10 или более $105.84

20 или более $92.86

30 или более $79.88

нет, мне нужно получить наименьшее значение, в данном случае $79.88

Поделиться сообщением


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

Tom    1 931

Это дефолтная функция опенкарт.Если я правильно понял.

Поделиться сообщением


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

ANiMAL    3

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

Поделиться сообщением


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

ANiMAL    3

Сам придумал проблему сам решил ) Правда не так как хотелось через контроллер, а через шаблон. Может кто поможет решить это через контроллер и вывести в отдельную переменную?

 

В /catalog/controller/product/product.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')))
				);
			}

Есть функция php - min(array()) она может находить минимум из массива, а вот как это все правильно использовать с массивом скидок, моих познаний не хватает )

 

Пока сделла по топорному в шаблоне товара:

		<?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 } ?>

Поделиться сообщением


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу