在JOOMLA 1.7中禁用virtmart组件的购物车按钮上的弹出窗口

时间:2012-01-09 14:02:17

标签: php virtuemart joomla1.7

我正在为JOOMLA 1.7使用Virtuemart 2.0.0购物车组件。在flypage(产品详细信息页面)上有一个“添加到购物车”按钮,用于在购物车中添加产品。

当点击该按钮时,弹出框打开,弹出框包含一些选项和详细信息,如产品名称,继续购物按钮,然后转到结帐。

当我点击该按钮页面重定向到结帐页面时,我想禁用弹出框添加到购物车按钮。

所以,任何人都有任何想法禁用弹出窗口,以及我在管理端配置virtmart的选项

6 个答案:

答案 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组件并查看左侧栏选择倒数第二个配置选项卡并打开配置选项卡,然后查看上面的一些选项卡,他们的选择结帐选项卡在该选项卡中查看一些选项,他们的第一个选项禁用弹出窗口以进入购物车。