我已经在我们的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://");
}