Magento添加到购物车ajax按钮不适用于安全(https)购物车



我已经在我们的magento中启用了安全推车。在那之后,添加到购物车按钮就不起作用了。我的主题有自定义的ajax添加到购物车按钮。然后我在我的模板js代码中添加了以下代码,并添加到产品列表页面的购物车按钮开始工作。但是,我不知道如何更改产品视图(详细信息)页面的添加到购物车按钮代码,因为它也不起作用。我需要他们和我的安全车。我的产品详细信息页面在http协议下。如果我用https手动输入产品详细信息页面,则添加到购物车按钮有效。但是,我需要它在http产品详细信息页面下工作,并与安全购物车页面一起工作。我应该如何更改javascript代码或任何其他代码?

我的代码

        if (window.location.protocol == "https:") {
        url=url;    
        }else{
        url=url.replace("https://","http://");  
        }

我的主题:http://demo.galathemes.com/#gala-齿轮箱

这是做这项工作的主题javascript代码:

var test;            
Event.observe(window, 'load', function () {
    var containerDiv = $('containerDiv');
    if(containerDiv)
        test = new LightboxAJC(containerDiv);
}); 
function cart_form(url)
{    
    data    =    $('product_addtocart_form').serialize();
    ajax_add(url,data);
}
function ajax_add(url,param)
    {
        tam        =    url.search("checkout/");
        tam2    =    url.search("product/");
        str1    =    url.substr(0,tam)+'ajaxcart/index/add/';
        str2    =    url.substr(tam2,url.length);
        link    =    str1+str2;
        var check = url.search("options");        
        if(check > 0){
            window.location.href = url;
        }
        else{
            var tmp        =    url.search("in_cart");
            test.open();
            new Ajax.Request(link, {
                parameters:param,
                onSuccess: function(data) {
                    if(tmp > 0 ) {
                        var host    =    find_host(url);
                        window.location.href = host+'index.php/checkout/cart/';
                    }
                    else{
                        //result    =    data.responseText;alert(result);                
                        $('ajax_content').innerHTML = data.responseText;
                        if($('ajax_content').down('.top-link-cart')){
                            var count_cart = $('ajax_content').down('.top-link-cart').innerHTML;                                
                            $$('.top-link-cart').each(function (el){
                                el.innerHTML = count_cart;
                            });
                        }
                        if($('ajax_content').down('.block-cart')){
                            var ajax_product = $('ajax_content').down('.block-cart').innerHTML;    
                            $$('.block-cart').each(function (el){
                               el.innerHTML = ajax_product;            
                            });
                        }
                        if($('ajax_content').down('.col-main')){
                            var ajax_result = $('ajax_content').down('.col-main').innerHTML;                
                            $$('.ajaxcart_row1').each(function (el){
                               el.innerHTML = ajax_result;            
                            });
                        }
                        $('ajax_loading').hide();
                        $('ajaxcart_conent').show();
                        Event.observe('closeLink', 'click', function () {                    
                            test.close();
                            $$('.ajaxcart_row1').each(function (el){
                               el.innerHTML = '';            
                            });
                            $('ajax_loading').show();
                        });    
                    }
                }
            });
        }
    }
function setLocation(url){
    if (window.location.protocol == "https:") {
    url=url;    
    }else{
    url=url.replace("https://","http://");     
    }
    var tam        =    url.search("checkout/cart/");
    if(tam > 0)    ajax_add(url);    
    else    window.location.href = url;
}    
document.observe("dom:loaded", function() {
    var cartInt = setInterval(function(){
        if (typeof productAddToCartForm != 'undefined'){
            if(test){
                var tam    =    $('product_addtocart_form').serialize();
                var check = tam.search("ajaxcart");        
                if(check < 0){                        
                    productAddToCartForm.submit = function(url){
                        if(this.validator && this.validator.validate()){                                        
                            cart_form($('product_addtocart_form').readAttribute('action'));
                            clearInterval(cartInt);
                        }
                        return false;
                    }
                }
            }
        } else {
            clearInterval(cartInt);
        }
    },500);
}); 
function find_host(url)
{
    var tmp        =    url.search("index.php");
    var str        =    url.substr(0,tmp)
    return str;
}

这是适用于所有页面的解决方案!很简单。。

if (window.location.protocol == "http:") {
url=url.replace("https://","http://");      
}   

相关内容

  • 没有找到相关文章

最新更新