簡體   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