每次添加新产品时,购物车都会以模态打开。我确实需要,想要并喜欢购物车的模态方法,我只是想在每次添加产品时禁用它。
代码必须位于此处:http://cdn.shopify.com/s/files/1/0656/8697/t/7/assets/ajaxify.js?8066。
我尝试从此方法中删除buildCart(cart)
(ajaxify.js中的第711行):
cartUpdateCallback = function (cart) {
// Update quantity and price
updateCountPrice(cart);
switch (settings.method) {
case 'flip':
$('.flip-cart span').html(cart.item_count);
break;
case 'modal':
buildCart(cart); // <<<
break;
case 'drawer':
buildCart(cart);
if ( !$drawerContainer.hasClass('is-visible') ) {
showDrawer();
} else {
scrollTop();
}
break;
}
};
这样可以防止在添加产品后打开购物车模式,但如果我点击购物车按钮,也会禁止我打开购物车。
我接下来可以尝试什么?
答案 0 :(得分:1)
我从未真正意识到这将是理想的功能,但我完全理解。按照以下步骤操作,让您的模态购物车正常工作:
注意:与我的版本相比,我的行号可能已关闭,因为我正在查看即将合并到Timber master的最新版本。
在私有函数变量声明下的cartToggleCallback
之后添加cartUpdateCallback
。这是第260行。
在showModal
中,将Shopify.getCart(cartUpdateCallback);
更改为Shopify.getCart(cartToggleCallback);
这是第475行。
制作cartUpdateCallback
的完整副本并命名新功能cartToggleCallback
。这是在689行附近。
在buildCart(cart);
case 'modal
评论cartUpdateCallback
醇>
上述步骤将为添加产品与打开切换购物车时创建单独的回调。如果您有任何问题,请告诉我们!
修改:要解决以下评论中的问题,请将showModal
函数替换为以下内容:
showModal = function (toggle) {
$body.addClass('ajaxcart--is-visible');
Shopify.getCart(cartUpdateCallback);
};