如何在添加产品后阻止购物车模式(ajax)打开?

时间:2014-10-16 20:05:58

标签: javascript jquery html ajax shopify

每次添加新产品时,购物车都会以模态打开。我确实需要,想要并喜欢购物车的模态方法,我只是想在每次添加产品时禁用它。

代码必须位于此处: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;
    }
  };

这样可以防止在添加产品后打开购物车模式,但如果我点击购物车按钮,也会禁止我打开购物车。

我接下来可以尝试什么?

1 个答案:

答案 0 :(得分:1)

我从未真正意识到这将是理想的功能,但我完全理解。按照以下步骤操作,让您的模态购物车正常工作:

注意:与我的版本相比,我的行号可能已关闭,因为我正在查看即将合并到Timber master的最新版本。

  1. 在私有函数变量声明下的cartToggleCallback之后添加cartUpdateCallback。这是第260行。

  2. showModal中,将Shopify.getCart(cartUpdateCallback);更改为Shopify.getCart(cartToggleCallback);这是第475行。

  3. 制作cartUpdateCallback的完整副本并命名新功能cartToggleCallback。这是在689行附近。

  4. buildCart(cart);

  5. 中的case 'modal评论cartUpdateCallback

    上述步骤将为添加产品与打开切换购物车时创建单独的回调。如果您有任何问题,请告诉我们!

    修改:要解决以下评论中的问题,请将showModal函数替换为以下内容:

    showModal = function (toggle) {
      $body.addClass('ajaxcart--is-visible');
      Shopify.getCart(cartUpdateCallback);
    };
    
相关问题