prestashop 1.5版本产品详细页面,添加购物车时,可以输入产品数量,然后点击 add to cart按钮,加入多个同样的产品到购物车。
但是产品列表的页面,只有点击添加到购物车按钮,不能控制产品的数量,用户体验不好。其实这个功能还是比较容易实现的。
下面就给大家分享下具体方法:
1 .修改模板文件夹下的 product-list.tpl 添加 输入框
打开product-list.tpl 查找到 第二次 {if ($product.allow_oosp || $product.quantity > 0)} 在后面 添加代码
1 2 | <div style="padding: 10px 0;"><label>{l s='Quantity:'}</label> <input id="ajax_id_product_{$product.id_product|intval}" style="height: 20px;" type="text" name="qty_{$product.id_product|intval}" value="1" size="2" maxlength="3" /></div> |
2.修改modules/blockcart/ajax-cart.js里的js代码
查找到 这段注释 //for every ‘add’ buttons… 和 //for product page ‘add’ button… 这段注释
将这两段注释之间的代码
1 2 3 4 5 6 | $('.ajax_add_to_cart_button').unbind('click').click(function(){ var idProduct = $(this).attr('rel').replace('ajax_id_product_', ''); if ($(this).attr('disabled') != 'disabled') ajaxCart.add(idProduct, null, false, this); return false; }); |
替换为
1 2 3 4 5 6 7 8 9 10 11 12 | $('.ajax_add_to_cart_button').unbind('click').click(function(){ var idProduct = $(this).attr('rel').replace('nofollow', '').replace('ajax_id_product_', ''); //edit paul for add to cart product qty var qty = 1; if(((parseInt($('#'+$(this).attr('rel')).val()) - 1) > 0)) qty = parseInt($('#'+$(this).attr('rel')).val()) else qty = 1 if ($(this).attr('disabled') != 'disabled') ajaxCart.add(idProduct, null, false, this, qty); return false; }); |
效果如下图