Я всё же продолжил копать...
Вот что сделал: добавил в тип кучу элементов цены, в Коммерции настроил кол-во как надо у каждой цены и настроил шаблоны цены.
На каждый элемент ввел только одну цену, остальные не указал просто.
Выяснил, что при 0 цене саму цену можно не показывать, а вот с элементом кол-во и кнопками такого сделать нельзя, почему-то?
На мой взгляд логично, когда цена товара = 0, то и заказать его нельзя, т.е. кол-во и кнопки убрать бы.
ну ладно...
пробую в шаблоне цены full делать проверки на 0 цену и в случае 0 переходить к новой итерации (цене), пока без результатно:
<?php
/**
* JBZoo App is universal Joomla CCK, application for YooTheme Zoo component
* @package jbzoo
* @version 2.x Pro
* @author JBZoo App http://jbzoo.com
* @copyright Copyright (C) JBZoo.com, All rights reserved.
* @license http://jbzoo.com/license-pro.php JBZoo Licence
* @coder Alexander Oganov <t_tapak@yahoo.com>
*/
// no direct access
defined('_JEXEC') or die('Restricted access');
/*
if ($this->checkPosition('attributes')) {
echo '<div class="jbprice-tmpl-full">';
echo $this->renderPosition('attributes');
echo '</div>';
}
if ($this->checkPosition('price') || $this->checkPosition('buttons')) { ?>
<div class="jbprice-detail-buy">
<div class="jbprice-detail-price">
<?php echo $this->renderPosition('price'); ?>
</div>
</div>
<div class="jbprice-detail-buttons">
<?php echo $this->renderPosition('buttons'); ?>
</div>
<?php }
*/
// список всех вариантов цен - element id
$priceList = [
'9c42587a-a4cb-4452-9d4a-626710c8cce1', // Цена_КдА_100x10
'3f43f260-0f19-4dad-884d-07d44695b700' // Цена_КдА_120х12
];
foreach($priceList as $priceId) {
$jbprice = $item->getElement($priceId);
if(isset($jbprice))
{
// Создаем/Получаем объект JBCartVariantList. С ним и работаем.
$list = $jbprice->getList();
// Узнаем итоговую стоимость
$total = $list->getTotal();
if($total->compare('0 rub', '<=')) {
echo 'total '.$total;
break;
} else {
echo 'total-2 '.$total;
if ($this->checkPosition('attributes')) {
echo '<div class="jbprice-tmpl-full">';
echo $this->renderPosition('attributes');
echo '</div>';
}
if ($this->checkPosition('price') || $this->checkPosition('buttons')) { ?>
<div class="jbprice-detail-buy">
<div class="jbprice-detail-price">
<?php echo $this->renderPosition('price'); ?>
</div>
</div>
<div class="jbprice-detail-buttons">
<?php echo $this->renderPosition('buttons'); ?>
</div>
<?php }
}
}
}
в шаблоне full элемента выводятся все кнопки кол-во и купить, даже у которых цена 0.
Подскажите, что доработать в коде.