Virtuemart – самый популярный компонент Joomla для электронной коммерции. Многие любят его именно из-за его “бесплатности”. Потому что в плане удобства – этот компонент нужно долго и нудно оптимизировать. Например, сегодня в Virtuemart нету автоматического обновления стоимости товара при изменении его количества. Да-да, вы не ослышались, в 21 веке данная функции не реализована в этом компоненте даже в самых последних версиях. На сегодня это 3-я версия.
Итак
Как заставить virtuemart менять стоимость товара, когда меняется его цена?
Для этого нам нужно провести совсем небольшой хак с использование технологии ajax, которая необходима как раз для обновления данных без перезагрузки страницы
Данный способ сработает для версий virtuemart 2 и virtuemart 3
- Открываем файл productdetails.php, который расположен в\components\com_virtuemart\controllers\productdetails.php
- Вызываем строку поиска (CTRL+F), и находим там function recalculate(){в)
- Находим строку – $prices = $product_model->getPrice($virtuemart_product_id,$customPrices,$quantity);
- Вставляем с новой строки это: $prices[‘salesPrice’]*=$quantity;
Ну вот и все 🙂
Если есть вопросы – пишите.
Тут вы можете еще почитать о том, как можно улучшить качество миниатюр в virtuemart
Низкий тебе поклон!
Единственное, человек может использовать не salesPrice, тогда можно кипу закинуть))
$prices[‘basePrice’]* = $quantity;
$prices[‘basePriceWithTax’] *= $quantity;
$prices[‘discountedPriceWithoutTax’]*= $quantity;
$prices[‘salesPrice’]* = $quantity;
$prices[‘salesPriceWithDiscount’]* = $quantity;
$prices[‘taxAmount’]* = $quantity;
$prices[‘discountAmount’]* = $quantity;
$prices[‘basePriceWithTax’]* = $quantity;
не работает на vm3.0.18, более того после добавления этой строки перестает работать пересчет цены в товаре через наценку в доп полях! Печалька(