0 Пользователей и 1 Гость просматривают эту тему.
  • 3 Ответов
  • 1168 Просмотров
*

kunev

  • Захожу иногда
  • 118
  • 0 / 0
Здравствуйте, подскажите, как можно вывести минимальную цену в родителе с дочернего товара. Т.е. есть родитель (условно цена 100), и пару дочерних товаров с ценой 100 и 90. Нужно чтоб родитель показал наименьшую цену 90. Чтоб мне не приходилось в мультиварианте тасовать и выставлять товар с меньшей ценой. Спасибо
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
тут не подсказывать нужно..
тут нужно написать для Вас!!
Я могу подсказать Вам то что заложено в коробку VirtueMart...
Но с уверенностью говорю там такого нет.
*

kunev

  • Захожу иногда
  • 118
  • 0 / 0
ваши ответы по одному шаблону, вам самим не надоело. вам по приколу писать либо что, и так на всех ветках без исключения, если не знаете ответа лучше не пишите - нервирует.
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Ну почему не знаю . !?
Я же говорю что нужно взять и написать, за Вас !
Если мои ответы Вас нервируют - то просто не читайте их.

Кладем следующий код в начало файла
\components\com_virtuemart\views\productdetails\tmpl\default.php
ну или если переопределен в шаблоне то ищем его в шаблоне ....

Код: php
      $productModel = VmModel::getModel('product');
$productChilds = $productModel->getProductChilds ($this->product->virtuemart_product_id);
$minPrice = false ;
if( is_array ($productChilds) && count($productChilds) > 0 ){
$minPrice = 9999999 ;
foreach ( $productChilds  as    $productChild ){
$prod = $productModel->getProduct($productChild->virtuemart_product_id);

// viwe all array
// echo '<pre>'; print_r ( $prod -> allPrices  ); echo '</pre>'.__FILE__.' in line:  '.__LINE__ ;
foreach ( $prod->allPrices  as  $prices ){  
echo '<hr /> ';
echo 'product_price = ' . $prices['product_price'] . '<br />';
echo 'basePrice = ' . $prices['basePrice']. '<br />';
echo 'taxAmount = ' . $prices['taxAmount']. '<br />';
$minPrice = ($prices['basePrice'] < $minPrice)?$prices['basePrice']:$minPrice;
}//foreach
}//foreach
} // end if
if( $minPrice ){
echo '<hr /> ';
echo 'MIN PRICE for KUNEV = ' . $minPrice . '<br />';
  }else{
$minPrice = $this->product->allPrices[0]['basePrice'] ;
echo '<hr /> ';
echo 'MIN PRICE for KUNEV = ' . $minPrice . '<br />';
} // end if

для VirtueMart ver3.2.1

Дальше я думаю разберетесь что с этим делать.
Для того что бы посмотреть на весь массив цены дочернего товара раскомментируйте строчку с принтом
Код: php
// viwe all array
echo '<pre>'; print_r ( $prod -> allPrices  ); echo '</pre>'.__FILE__.' in line:  '.__LINE__ ;

Если дочек у товара будет много то лучше бы это вытащить в отдельный helper  и закешировать результат.
Тем более если вы решите данную конструкцию использовать на странице категории.
Но это в общем уже отдельная тема. !
Удачи !

« Последнее редактирование: 30.04.2017, 00:48:50 от gartes »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Отображение полей CF в карточке товара

Автор farmer66

Ответов: 2
Просмотров: 1103
Последний ответ 17.02.2023, 13:39:18
от farmer66
Вывод изображений настраиваемого поля в карточке товара

Автор wasssup

Ответов: 0
Просмотров: 1236
Последний ответ 05.07.2022, 08:51:19
от wasssup
как изменить цену всем товарам в VirtueMart 3 ?

Автор ShamilHan

Ответов: 5
Просмотров: 2674
Последний ответ 11.03.2022, 21:12:37
от Zeobr
Умножение свойств товара в настраиваемом поле атрибут корзины

Автор cvoboda

Ответов: 22
Просмотров: 3509
Последний ответ 20.10.2020, 11:54:13
от NIKOLY
Как удалить дочерние товары в карточке товара VM 2?

Автор zeus07

Ответов: 0
Просмотров: 826
Последний ответ 12.05.2020, 14:51:39
от zeus07