сообщение с подтверждением перед удалением товара из корзины - PullRequest
0 голосов
/ 12 сентября 2018

Есть ли в prestashop способ показать сообщение с подтверждением до того, как товар будет удален из корзины в prestashop 1.7? Я просто хотел бы указать на файл, который содержит этот метод, чтобы я мог добавить диалоговое окно подтверждения, поскольку прямо сейчас пользователь может просто удалить без подтверждения

1 Ответ

0 голосов
/ 18 сентября 2018

Да, вы можете показать диалог подтверждения перед удалением товара из корзины.По умолчанию файл core.js и theme.js обрабатывает все события и обновляет корзину соответственно для события updateCart.( Подробнее о событиях см. Здесь )

Чтобы преодолеть поведение по умолчанию, добавление js до theme.js поможет нам предотвратить событие щелчка по умолчанию.Следуйте приведенному ниже пошаговому руководству, чтобы загрузить свой js и добавить диалоговое окно подтверждения при удалении элемента.

1) Зарегистрируйте js в theme.yml ( Подробнее здесь )добавив приведенный ниже код в assets

themes / {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 и добавьте в него код ниже.

themes / {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.json ( Ссылка )

4) Добавить товары в корзину и проверить корзину;удалить элементы, вы увидите подтверждающее сообщение.Прикрепленное изображение для справки.

enter image description here

...