我正在为JOOMLA 1.7使用Virtuemart 2.0.0购物车组件。在flypage(产品详细信息页面)上有一个“添加到购物车”按钮,用于在购物车中添加产品。
当点击该按钮时,弹出框打开,弹出框包含一些选项和详细信息,如产品名称,继续购物按钮,然后转到结帐。
当我点击该按钮页面重定向到结帐页面时,我想禁用弹出框添加到购物车按钮。
所以,任何人都有任何想法禁用弹出窗口,以及我在管理端配置virtmart的选项
答案 0 :(得分:1)
一种方法是修改vmprices.js文件中的函数,并注释掉显示弹出窗口的行,如果你想在那里添加一些其他行为,则函数是sendtocart。例如,删除弹出窗口应该这样做。
(function($) {
$.fn.product = function(options) {
this.each(function(){
var cart = $(this),
addtocart = cart.find('input.addtocart-button'),
plus = cart.find('.quantity-plus'),
minus = cart.find('.quantity-minus'),
select = cart.find('select'),
radio = cart.find('input:radio'),
virtuemart_product_id = cart.find('input[name="virtuemart_product_id[]"]').val(),
quantity = cart.find('.quantity-input');
**//addtocart.click(function(e) {
//sendtocart(cart);
//return false;
//});**
plus.click(function() {
var Qtt = parseInt(quantity.val());
if (Qtt != NaN) {
quantity.val(Qtt + 1);
}
});
minus.click(function() {
var Qtt = parseInt(quantity.val());
if (Qtt != NaN && Qtt>0) {
quantity.val(Qtt - 1);
}
});
select.change(function() {
$.setproducttype(cart,virtuemart_product_id);
});
radio.change(function() {
$.setproducttype(cart,virtuemart_product_id);
});
});
答案 1 :(得分:0)
不确定这些设置是否仍然存在于1.7中,但它曾经在:
<强>组分 - &GT; VirtueMart-&GT;管理 - &GT;配置 - &GT;站点强>
点击商店下拉菜单“选择主题”下方的配置链接。设置了以下值:
弹出窗口中的客户结账(GreyBox)?否
使用Ajax添加,更新或删除购物车中的商品?否
答案 2 :(得分:0)
VM 2.0不再使用主题,因此不再更改主题的任何设置。如果您想要更改任何页面的外观或工作方式,可以像使用其他Joomla扩展一样使用简单的模板覆盖。
复制此文件 -
components/com_virtuemart/views/productdetails/tmpl/default.php
将副本放在这里 -
YOUR_TEMPLATE/html/com_virtuemart/productdetails/default.php
然后进行所需的任何更改。
答案 3 :(得分:0)
一种方法是修改vmprices.js文件中的函数,并注释掉显示弹出窗口的行,如果你想在那里添加一些其他行为,则函数是sendtocart。例如,删除弹出窗口应该这样做。
function sendtocart(form){
$.ajaxSetup({ cache: false })
var datas = form.serialize();
$.getJSON(siteurl+'index.php?option=com_virtuemart&nosef=1&view=cart&task=addJS&format=json',encodeURIComponent(datas),
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]) {
$(".vmCartModule").productUpdate();
}
});
$.ajaxSetup({ cache: true });
};
答案 4 :(得分:0)
最简单的方法是取消选中Configuration&gt;中的'use product script'框。模板。
然后在您的产品详细信息模板中更改:
<noscript><input type="hidden" name="task" value="add" /></noscript>
为:
<input type="hidden" name="task" value="add" />
删除noscript标签
答案 5 :(得分:0)
转到virtuemart组件并查看左侧栏选择倒数第二个配置选项卡并打开配置选项卡,然后查看上面的一些选项卡,他们的选择结帐选项卡在该选项卡中查看一些选项,他们的第一个选项禁用弹出窗口以进入购物车。