Как сделать очистку корзины из шаблона tpl.MinCart

Собственно из заголовка проблема ясна. Вставлял вот этот кусок из шаблона tpl.msCartOuter:
<form method="post">
		<button class="btn btn-default" type="submit" name="ms2_action" value="cart/clean" title="[[%ms2_cart_clean]]"><i class="glyphicon glyphicon-remove"></i> [[%ms2_cart_clean]]</button>
</form>
При нажатии на кнопку корзина очищается но больше уже не заполняется. При обновлении страницы браузер предлагает повторно отправить форму.

Неужто функционала готового нет для мини корзины?
Андрей
20 января 2016, 17:55
modx.pro
1
1 792
0

Комментарии: 9

Василий Наумкин
20 января 2016, 20:58
0
miniShop2.Cart.clean();
    Андрей
    20 января 2016, 21:03
    0
    Ого, вот это оперативность! А по подробнее можно? Как это использовать при нажатии на кнопку «Очистить». Спасибо.
      Василий Наумкин
      20 января 2016, 21:57
      0
      Мне действительно нужно рассказывать, как вызывать javascript функцию при нажатии на кнопку?
        Андрей
        21 января 2016, 08:42
        0
        Извиняйте. Дилетант я в программировании. Спрашиваю потому что не работает у меня вот такой вызов:

        $("#cleanmincart").click(function(){
        							miniShop2.Cart.clean();
        						 });
        Буду благодарен, если ткнете носом. Спасибо.
          Василий Наумкин
          21 января 2016, 08:44
          0
          Если это кнопка, и она внутри формы (как у тебя в вопросе), то при нажатии она эту форму отправит и страница перезагрузится.

          Нужно форму убрать, добавить кнопке id=«cleanmincart» и тогда твой javasscript уже должен заработать.
            Андрей
            21 января 2016, 09:03
            0
            Я так и сделал!
            Глухо. Событие срабатывает, проверял алертом, а корзина не очищается. Мог конечно накосячить с оформлением корзины, но она работает. Только не очищается через эту функцию.
              Василий Наумкин
              21 января 2016, 09:09
              3
              0
              На старой версии у меня работает, а в новой, похоже, что-то поменялось. Бронебойный вариант:
              $("#cleanmincart").click(function(){
              	$.post(document.location, {ms2_action: 'cart/clean'});
              });
                Андрей
                21 января 2016, 09:24
                0
                Йа-ха! Заработало. Только надо страницу обновить сразу после очистки чтобы показать пустую корзину.
                Спасибо большое.
                  Василий Наумкин
                  21 января 2016, 09:34
                  0
                  $("#cleanmincart").click(function(){
                  	$.post(document.location, {ms2_action: 'cart/clean'}, function() {
                  		document.location.reload();
                  	});
                  });
                  Это перезагрузит страницу сразу после выполнения запроса.
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    9