→ При разработке сайта лендинг в подарок! ЖМИ! ←
Июн
19

Изменение цены в зависимости от свойства товара в Virtuemart

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

Честно скажу, что решение придумал не я, оно навеяно этим. Но там вариант не универсальный, что очень нехорошо.

Итак, подключаем в индексном файле нашей темы оформления джумлы jQuery (если он у вас уже не подключен). и сразу ставим ноконфликт, т.к. вирт активно использует мотулс.

1
2
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js "></script>
<script type="text/javascript">jQuery.noConflict();</script>

Далее правим файл com_virtuemart/themes/default/product_details/includes/addtocart_advanced_attribute.tpl.php темы виртумарта

Вместо

1
<option value="<?php echo $options_item['base_var'] ?>"><?php echo $options_item['base_value'] ?> (<?php echo $options_item['sign'].$options_item['display_price'] ?>)</option>

Ставим это

1
<option title="<?php echo $options_item['display_price'] ?>" value="<?php echo $options_item['base_var'] ?>"><?php echo $options_item['base_value'] ?> (<?php echo $options_item['sign'].$options_item['display_price'] ?>)</option>

и вносим корректировки в файлик com_virtuemart/themes/default/common/price.tpl.php

После

1
<?php if( !empty( $price_info["product_price_id"] )) { ?>

Вставляем

1
2
3
4
5
6
7
<script type="text/javascript">
jQuery(document).ready(function(){
jQuery(".inputboxattrib").change(function () {
jQuery('span.productPrice').replaceWith('<span class="productPrice">'+jQuery(".inputboxattrib option:selected").attr("title")+'</span>');
})
});
</script>

Здесь .inputboxattrib — класс вашего селекта (в данном случае вбит стандартный виртовский)
Всё, можно активно пользоваться!

3 коммент. к записи “Изменение цены в зависимости от свойства товара в Virtuemart”

  • Gaur85 24 июля 2012 - 17:11

    Перепробовал кучу методов, включая тот, что Вам навеял написать эту статью, не работают. А тут БАЦ! Цены начали изменяться без проблем. Много благодарен!

  • K_E_V_in 24 июля 2012 - 17:14

    Иногда пара букв решают всё )

  • deniska 9 августа 2012 - 10:50

    у цен сопутствующих товаров внизу странички тот же класс «productPrice», и у них меняется на те же циферки, как быть?

Прокомментировать

Рубрики

Наши услуги

В прямом эфире