Цена за единицу измерения товаров

Цена за единицу товара

В VirtueMart есть возможность вывести цену за единицу товара, но, на мой взгляд, это реализовано не очень удачно. Как-то давно я реализовал это через настраиваемые поля и даже публиковал данное решение на сторонних форумах. 

Первым делом редактируем файл ваш_сайт/templates/шаблон/html/com_virtuemart/productdetails/default.php
находим в нем строку:

echo shopFunctionsF::renderVmSubLayout('prices',array('product'=>$this->product,'currency'=>$this->currency));

и меняем ее на:

<div class="prod-price-per-unit">
    <?php echo shopFunctionsF::renderVmSubLayout('prices',array('product'=>$this->product,'currency'=>$this->currency)) . shopFunctionsF::renderVmSubLayout('customfields',array('product'=>$this->product,'position'=>'priceperunit')); ?>
</div>

далее необходимо вывести единицу измерения на странице категории, для этого в файле ваш_сайт/templates/шаблон/html/com_virtuemart/sublayouts/products.php находим строку:

echo shopFunctionsF::renderVmSubLayout('prices',array('product'=>$product,'currency'=>$currency));

и заменяем ее на:

<div class="prod-price-per-unit">
    < ?php echo shopFunctionsF::renderVmSubLayout('prices',array('product'=>$product,'currency'=>$currency)) . shopFunctionsF::renderVmSubLayout('customfields',array('product'=>$product,'position'=>'priceperunit')); ?>
</div>

Будьте внимательны! код из ваш_сайт/templates/шаблон/html/com_virtuemart/productdetails/default.php и ваш_сайт/templates/шаблон/html/com_virtuemart/sublayouts/products.php отличается!

Теперь создаем настраиваемое поле в позиции priceperunit

Цена за единицу товара

Осталось прописать css, чтобы все было красиво. В моем случае получилось так:

div.prod-price-per-unit {
    margin-bottom: 20px;
}
 
div.prod-price-per-unit div.product-price {
    display: inline-block;
}
 
div.prod-price-per-unit div.product-fields {
    display: inline-block;
}
 
div.prod-price-per-unit div.product-fields div.product-field {
    border-bottom: none;
}
 
div.prod-price-per-unit div.product-fields div.product-field div.product-field-display {
    width: auto;
    color: #e69144 !important;
    font-size: 20px !important;
    font-weight: bold;
    font-family: tahoma;
    vertical-align: top !important;
}

На выходе получился такой результат:

Цена за единицу товара

Комментировать