繁体   English   中英

禁用JOOMLA 1.7中的evinessmart组件的添加到购物车按钮上的弹出窗口

[英]Disable popup on add to cart button of virtuemart component in JOOMLA 1.7

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

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

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

所以,任何人都给我任何想法来禁用弹出窗口,以及在管理端配置我的功能时我在哪里获得了该选项

一种方法是修改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);
        });
    });

转到enefitmart组件并查看左侧栏,选择倒数第二个配置选项卡,然后打开配置选项卡,然后在上方查看某些选项卡,然后选择结帐选项卡,在该选项卡中查看一些选项,然后选择其第一个选项禁用购物车弹出窗口。

不知道这些设置在1.7中是否仍然存在,但以前位于以下位置:

组件-> VirtueMart->管理->配置->站点

单击“商店”下拉菜单中“选择主题”下方的“配置”链接。 设置以下值:

弹出窗口(GreyBox)中的客户结帐? 没有

使用Ajax从购物车中添加,更新或删除产品? 没有

VM 2.0不再使用主题,因此不再更改主题的任何设置。 如果要更改任何页面的外观或工作方式,请像其他Joomla扩展一样使用简单的模板替代。

复制此文件-

components/com_virtuemart/views/productdetails/tmpl/default.php

将副本放在这里-

YOUR_TEMPLATE/html/com_virtuemart/productdetails/default.php

然后进行所需的任何更改。

一种方法是修改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 });
    };

最简单的方法是取消选中“配置”>“模板”中的“使用产品脚本”框。

然后在您的产品详细信息模板中进行更改:

<noscript><input type="hidden" name="task" value="add" /></noscript> 

至:

<input type="hidden" name="task" value="add" />

删除noscript标签

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM