从购物车中删除商品之前的确认消息

问题描述 投票:0回答:1

在prestashop 1.7中,在商品从购物车中删除之前,prestashop中是否有方法显示确认消息?我只想指向包含此方法的文件,以便我可以添加一个确认对话框,因为现在用户可以在不确认的情况下删除

prestashop-1.7
1个回答
2
投票

是的,您可以在从购物车中删除商品之前显示确认对话框。默认情况下,core.jstheme.js文件会在updateCart事件中处理所有事件并相应地更新购物车。 (Refer more on events here

要克服默认行为,在js之前添加theme.js将帮助我们防止默认点击事件。按照下面提到的分步指南加载您自己的js并在项目删除时添加确认对话框。

1)在js下面添加以下代码,在theme.ymlMore details here)注册你的assets

主题/ {} your_theme /config/theme.yml

assets:
  js:
    cart:
      - id: cart-extra-lib
        path: assets/js/cart-lib.js
        priority: 30

2)在cart-lib.js下创建文件themes/{your_theme}/assets/js并在其中添加以下代码。

主题/ {} your_theme /assets/js/cart-lib.js

function refreshDataLinkAction() {
    $('[data-link-action="delete-from-cart"]').each(function(){
        $(this).attr('data-link-action', 'confirm-remove-item');
    });
}

$(document).on('click', '[data-link-action="confirm-remove-item"]', function(e) {
    e.preventDefault();
    if (confirm('Are you sure you want to remove product from cart?')) {
        $(this).attr('data-link-action', 'delete-from-cart');
        $(this).trigger('click');
    }
    return false;
});

$(document).ready(function () {
    refreshDataLinkAction();
    prestashop.on('updatedCart', function (event) {
        refreshDataLinkAction();
    });
});

3)现在,要加载您的js文件,您需要删除文件config/themes/{your_theme}/shop1.jsonReference

4)将产品添加到购物车并检查购物车;删除项目您将看到确认消息。附加图像以供参考。

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.