Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

определить минимальную и максимальную цену в опциях


Recommended Posts

Здравствуйте.

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

 

Пример.

 

Футболка в размерах S, M, L, XL стоимостью 1500 руб.

 

опция размер:
S

M +100 руб.

L  +150 руб.

XL +200 руб.

 

мне необходимо определить сам факт наличия наценки в опции, чтобы вывести в карточке товара перед ценой "от "

 

т.е. должно получиться "от 1500 руб.", если существуют значения опций с наценкой.

 

Я понимаю, что в контроллере product.php где-то после цикла, вычисляющего параметры для опций необходимо вычислить минимальное и максимальное значение элемента массива 'price', но в php не силен.

Надіслати
Поділитися на інших сайтах


приблизительно так

$min_price = $product_info['price'];
foreach ($this->model_catalog_product->getProductOptions($this->request->get['product_id']) as $option) { 
$tmp_price = $product_info['price'];
if ($option_value['price_prefix'] =='+') $tmp_price = $product_info['price']+$option_value['price'];
if ($option_value['price_prefix'] =='-') $tmp_price = $product_info['price']-$option_value['price'];
if ($tmp_price < $min_price) $min_price = $tmp_price;
...




Ну а дальше делайте что хотите с min_price

Казалось бы а зачем проверять префикс на плюс?

А вдруг захочется от ... до ...

Надіслати
Поділитися на інших сайтах

Наличие опции уже подразумевает наценку, конечно кроме случая если опция имеет знак минус.

По примеру достаточно:
перед

$this->data['products'][] = array(

дописать

//получаем опции товара
$product_options = $this->model_catalog_product->getProductOptions($this->request->get['product_id']);
//если количество опций больше ноля - добавляем к цене ОТ иначе прежняя цена
$price = count($product_options)>0?' от '.$price:$price;
Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.