我全新安装了Opencart 1.5.6.4 - 链接为here
在我的所有产品页面(不是类别页面)上 - 当您点击“添加到购物车”时,它会添加所有内容的x2。
我尝试使用新的SEO标题,标题,产品,新型号重新创建产品 - 但是,它仍然会将它添加到我的购物车两次?
有什么想法吗?任何帮助将不胜感激。
答案 0 :(得分:1)
这绝对是用于导航栏的 mmenu jquery扩展程序的冲突或错误,并且包含在 jquery.mmenu.min中.all.js 强>
注释掉这一行:
$('nav#menu').mmenu();
您将看到购物车按钮正常运行。不幸的是,这打破了导航栏。我希望我能告诉你更多,但也许值得联系该扩展的开发者:
http://mmenu.frebsite.nl/support/problem-solving.html
或在此处提出问题:
https://github.com/BeSite/jQuery.mmenu/issues
由于您似乎正在运行最新版本,如果确实存在错误,则尚未修复。我已经开始将 mmenu 标记添加到您的问题中,希望可能会引起某人的注意。祝你好运。
答案 1 :(得分:0)
[已解决]
在我所有的产品页面(而非类别页面)上-单击“添加” 放入购物车”,它会将所有内容加2倍。
您将具有两个用于控制“添加到购物车”按钮的功能。正确放置/执行代码将产生不同的结果。请参阅下面的代码段。
第一个位于/catalog/view/javascript/common.js:
function addToCart(product_id) {
$.ajax({
url: 'index.php?route=checkout/cart/add',
type: 'post',
data: 'product_id=' + product_id,
dataType: 'json',
success: function(json) {
第二个通常位于/ catalog / view / theme / template / 您的主题 /product/product.tpl:
$('#button-cart').bind('click', function() {
$.ajax({
url: 'index.php?route=checkout/cart/add',
type: 'post',
data: $('.product-info input[type=\'text\'], .product-info input[type=\'hidden\'], .product-info input[type=\'radio\']:checked, .product-info input[type=\'checkbox\']:checked, .product-info select, .product-info textarea'),
dataType: 'json',
success: function(json) {
如果您会注意到代码的 data 部分。一种是检查选项,然后添加到购物车,另一种是添加到购物车。
此代码段data: $('.product-info input[type=\'text\'], .product-info input[type=\'hidden\'], .product-info input[type=\'radio\']:checked, .product-info input[type=\'checkbox\']:checked, .product-info select, .product-info textarea'),
正在检查选项,然后添加到购物车。通常在产品详细信息页面(product.tpl)上使用。
此代码段data: 'product_id=' + product_id,
直接将产品添加到购物车,通常在网站上的其他位置(产品详细信息页面除外)使用。用户只需将商品添加到购物车然后结帐即可。
您将 2x件商品添加到购物车的原因是,因为您使用的是用于检查选项然后添加到购物车的代码段。要使任何添加到购物车按钮仅在购物车中放置一项(无需检查选项),您将需要使用data: 'product_id=' + product_id,
它看起来像这样
$('#button-cart').bind('click', function() {
$.ajax({
url: 'index.php?route=checkout/cart/add',
type: 'post',
data: 'product_id=' + product_id,
dataType: 'json',
success: function(json) {