Добавим плюс и минус для изменения количества товаров в корзине.

Изменения делаем в файле:

components/com_virtuemart/cart/default_pricelist.php

Поскольку, мы будем менять количество товара, кликая по кнопкам плюс и минус, логично сделать поле количества доступным только для чтения.

Для этого в тэг input добавим параметр readonly

Также, добавим для тэга количества атрибут id, чтобы можно было обращаться к нему с помощью javascript функции document.getElementById()

id="quantity<?php echo $pkey; ?>"

Теперь тэг количества товаров выглядит так:

<input type="text" readonly
onblur="Virtuemart.checkQuantity(this,<?php echo $step?>,'<?php echo vmText::_ ('COM_VIRTUEMART_WRONG_AMOUNT_ADDED',true)?>');"
onclick="Virtuemart.checkQuantity(this,<?php echo $step?>,'<?php echo vmText::_ ('COM_VIRTUEMART_WRONG_AMOUNT_ADDED',true)?>');"
onchange="Virtuemart.checkQuantity(this,<?php echo $step?>,'<?php echo vmText::_ ('COM_VIRTUEMART_WRONG_AMOUNT_ADDED',true)?>');"
onsubmit="Virtuemart.checkQuantity(this,<?php echo $step?>,'<?php echo vmText::_ ('COM_VIRTUEMART_WRONG_AMOUNT_ADDED',true)?>');"
title="<?php echo vmText::_('COM_VIRTUEMART_CART_UPDATE') ?>" class="quantity-input js-recalculate" size="5" maxlength="6" id="quantity<?php echo $pkey; ?>" name="quantity[<?php echo $pkey; ?>]" value="<?php echo $prow->quantity ?>" /> 

После тэга количества добавим такой код:

<span class="quantity-controls"><input type="button" class="quantity-controls quantity-plus" onClick="javascript:document.getElementById('quantity<?php echo $pkey; ?>').value = (parseFloat(document.getElementById('quantity<?php echo $pkey; ?>').value) + parseFloat(<?php echo $step?>)).toFixed(3);"/>
<input type="button" class="quantity-controls quantity-minus" onClick="javascript:document.getElementById('quantity<?php echo $pkey; ?>').value = (parseFloat(document.getElementById('quantity<?php echo $pkey; ?>').value) - parseFloat(<?php echo $step?>)).toFixed(3);"/></span>