好的,我是OpenCart的新手。最近开始研究Opencart文件系统中的代码。我的目标是在标题上显示购物车div,以显示在常见的右侧或页脚等其他部分。所以在看了header.php和header.tpl后我做了一些修改。 在footer.php上我写了 -
$data['cart'] = $this->load->controller('common/cart');
在footer.tpl上我简单地回显了$ cart。
但结果不是我想要的。 看看一些截图 -
http://postimg.org/image/7v77iswgz/
http://postimg.org/image/thi05wgfj/
所以我的问题是,我必须做些什么才能在不刷新页面的情况下更新总价格。 如果您可以另外提供任何链接,我可以学习使用代码自定义opencart,那将是很棒的。
答案 0 :(得分:1)
请检查common.js文件并修改var cart
以在页脚中添加数据。
var cart = {
'add': function(product_id, quantity) {
$.ajax({
url: 'index.php?route=checkout/cart/add',
type: 'post',
data: 'product_id=' + product_id + '&quantity=' + (typeof(quantity) != 'undefined' ? quantity : 1),
dataType: 'json',
beforeSend: function() {
$('#cart > button').button('loading');
},
success: function(json) {
$('.alert, .text-danger').remove();
$('#cart > button').button('reset');
if (json['redirect']) {
location = json['redirect'];
}
if (json['success']) {
$('#content').parent().before('<div class="alert alert-success"><i class="fa fa-check-circle"></i> ' + json['success'] + '<button type="button" class="close" data-dismiss="alert">×</button></div>');
$('#cart-total').html(json['total']);
$('html, body').animate({ scrollTop: 0 }, 'slow');
$('#cart > ul').load('index.php?route=common/cart/info ul li');
}
}
});
},
'update': function(key, quantity) {
$.ajax({
url: 'index.php?route=checkout/cart/edit',
type: 'post',
data: 'key=' + key + '&quantity=' + (typeof(quantity) != 'undefined' ? quantity : 1),
dataType: 'json',
beforeSend: function() {
$('#cart > button').button('loading');
},
success: function(json) {
$('#cart > button').button('reset');
$('#cart-total').html(json['total']);
//add your footer button here
if (getURLVar('route') == 'checkout/cart' || getURLVar('route') == 'checkout/checkout') {
location = 'index.php?route=checkout/cart';
} else {
$('#cart > ul').load('index.php?route=common/cart/info ul li');
}
}
});
},
'remove': function(key) {
$.ajax({
url: 'index.php?route=checkout/cart/remove',
type: 'post',
data: 'key=' + key,
dataType: 'json',
beforeSend: function() {
$('#cart > button').button('loading');
},
success: function(json) {
$('#cart > button').button('reset');
$('#cart-total').html(json['total']);
//Add your footer button here
if (getURLVar('route') == 'checkout/cart' || getURLVar('route') == 'checkout/checkout') {
location = 'index.php?route=checkout/cart';
} else {
$('#cart > ul').load('index.php?route=common/cart/info ul li');
}
}
});
}
}