Рабочее решение для VirtueMart 2.0.x и Joomla 2.5.x
1) В самом VirtueMart не нужно отключать всплывающее окно, наоборот проверьте чтобы были включены Display modal popup upon 'Add to cart' и Language Javascript Fix в панель управления VirtueMart -> настройки -> оформление заказа .
2) Редактируем файл: "/components/com_virtuemart/assets/js/vmprices.js"
заменить код (у меня это было с 61 по 85 строчку):
function(datas, textStatus) {
if(datas.stat ==1){
//var value = form.find('.quantity-input').val() ;
var txt = form.find(".pname").val()+' '+vmCartText;
$.facebox.settings.closeImage = closeImage;
$.facebox.settings.loadingImage = loadingImage;
$.facebox.settings.faceboxHtml = faceboxHtml;
$.facebox({ text: datas.msg +"<H4>"+txt+"</H4>" }, 'my-groovy-style');
} else if(datas.stat ==2){
var value = form.find('.quantity-input').val() ;
var txt = form.find(".pname").val();
$.facebox.settings.closeImage = closeImage;
$.facebox.settings.loadingImage = loadingImage;
$.facebox.settings.faceboxHtml = faceboxHtml;
$.facebox({ text: datas.msg +"<H4>"+txt+"</H4>" }, 'my-groovy-style');
} else {
$.facebox.settings.closeImage = closeImage;
$.facebox.settings.loadingImage = loadingImage;
$.facebox.settings.faceboxHtml = faceboxHtml;
$.facebox({ text: "<H4>"+vmCartError+"</H4>"+datas.msg }, 'my-groovy-style');
}
if ($(".vmCartModule")[0]) {
VirtueMart.productUpdate($(".vmCartModule"));
}
});
на этот:
function(datas, textStatus) {
if(datas.stat ==1){
//var value = form.find('.quantity-input').val() ;
var txt = form.find(".pname").val()+' '+vmCartText;
} else if(datas.stat ==2){
var value = form.find('.quantity-input').val() ;
var txt = form.find(".pname").val();
}
if ($(".vmCartModule")[0]) {
VirtueMart.productUpdate($(".vmCartModule"));
}
});
3) все готово!
P.S. Нет никакой переадрисации, всплывающего окна, и перехода на верх страницы
