Больше года я не пользовался ВиртуМартом и тут приспичило. Какой все-даки он ущербный... Ну да ладно не об этом.
Меня всегда напрягал способ изменения количества товара, при оформлении, в корзине. Это ж как не удобно надо сначала ввести количество, а потом кнопку жать.
Решил проблему по своему:
идем в components\com_virtuemart\views\cart\tmpl\
default_pricelist.phpИщем там:
<input type="text"
onblur="Virtuemart.checkQuantity(this,<?php echo $step?>,'<?php echo vmText::_ ('COM_VIRTUEMART_WRONG_AMOUNT_ADDED')?>');"
onclick="Virtuemart.checkQuantity(this,<?php echo $step?>,'<?php echo vmText::_ ('COM_VIRTUEMART_WRONG_AMOUNT_ADDED')?>');"
onchange="Virtuemart.checkQuantity(this,<?php echo $step?>,'<?php echo vmText::_ ('COM_VIRTUEMART_WRONG_AMOUNT_ADDED')?>');"
onsubmit="Virtuemart.checkQuantity(this,<?php echo $step?>,'<?php echo vmText::_ ('COM_VIRTUEMART_WRONG_AMOUNT_ADDED')?>');"
title="<?php echo vmText::_('COM_VIRTUEMART_CART_UPDATE')?>" class="quantity-input js-recalculate" size="3" maxlength="4" name="quantity[<?php echo $pkey; ?>]" value="<?php echo $prow->quantity ?>" />
Дописываем перед ним: <span class="plusminus"><a class="prplus">+</a>
после него: <a class="prminus">-</a>
И после кнопок:
<button type="submit" class="vmicon vm2-add_quantity_cart" name="updatecart.<?php echo $pkey ?>" title="<?php echo vmText::_ ('COM_VIRTUEMART_CART_UPDATE')?>" />
<button type="submit" class="vmicon vm2-remove_from_cart" name="delete.<?php echo $pkey ?>" title="<?php echo vmText::_ ('COM_VIRTUEMART_CART_DELETE')?>" />
Закрываем наш спан: </span>
Далее в удобном месте шаблона прописываем код:
$(function(){
$('a.prminus').click(function() {
var $input = $(this).parent(this).children("input");
var count = parseInt($input.val()) - 1;
$(this).parent(this).children("input").val(count);
$(this).parent(this).children(".vm2-add_quantity_cart").click();
});
$('a.prplus').click(function() {
var $input = $(this).parent(this).children("input");
var count = parseInt($input.val()) + 1;
$(this).parent(this).children("input").val(count);
$(this).parent(this).children(".vm2-add_quantity_cart").click();
});
});
CSSом допиливаем по своему усмотрению.