Чтобы скрыть цену у товаров, которых нет в наличии, и показать, например, надпись "Нет в наличии" нужно:
Для страницы категории (vm3)
В файле \components\com_virtuemart\sublayouts\products.php замените код вывода цены
<?php //echo $rowsHeight[$row]['price'] ?>
<div class="vm3pr-<?php echo $rowsHeight[$row]['price'] ?>"> <?php
echo shopFunctionsF::renderVmSubLayout('prices',array('product'=>$product,'currency'=>$currency)); ?>
<div class="clear"></div>
</div>
на
<?php if (($product->product_in_stock - $product->product_ordered) < 1) {
echo 'Нет в наличии';
}
?>
<?php if (($product->product_in_stock - $product->product_ordered) > 1) { ?>
<?php //echo $rowsHeight[$row]['price'] ?>
<div class="vm3pr-<?php echo $rowsHeight[$row]['price'] ?>"> <?php
echo shopFunctionsF::renderVmSubLayout('prices',array('product'=>$product,'currency'=>$currency)); ?>
<div class="clear"></div>
</div>
<?php } ?>
Для карточки товара (vm3)
Замените код вывода цены в файле \components\com_virtuemart\views\productdetails\tmpl\default.php
echo shopFunctionsF::renderVmSubLayout('prices',array('product'=>$this->product,'currency'=>$this->currency));
на
if (($this->product->product_in_stock - $this->product->product_ordered) < 1) {
echo 'Нет в наличии';
}
else {
echo shopFunctionsF::renderVmSubLayout('prices',array('product'=>$this->product,'currency'=>$this->currency));
}