Best Answer SmetDenis , 15 October 2013 - 22:52
Добрый день.Решил вывести в модуле корзины товары. Товары туда поставить сложности не возникло.
Интересует возможность вставки элемента jbpriceadvanced c функцией добавить и удалить из корзины. Т.е. грубо говоря получить в модуле мини-тизеры, которые будут правильно работать. Подскажите пожалуйста направление как это сделать?
Может для удаления проще написать отдельный jQuery скрипт?
Ссылку на удаление не сложно получить из PHP
<?php $removeUrl = $this->app->jbrouter->element($elementId, $itemId, 'ajaxRemoveFromCart'); // делаем ссылку-крестик echo '<a href="'.$removeUrl.'" class="jsRemoveItem">X</a>';В JS пишем следующее
$(document).on('click', '.jsRemoveItem', function () { // событие через делегирование var $link = $(this); $.post($link.attr('href'), {}, function(){ $.fn.JBZooPriceReloadBasket(); // вызывает перезагрузку модуля корзины $link.closest('.jbzoo_item').remove(); // удаляем материал из модуля (тогда перезагрузка модуля не нужна) }); });Есть важная тонкость. После обновления корзины все бинды событий JS будут удалены.
Поэтому их нужно снова вешать внутри колбека после ajax запроса.
По аналогии можно сделать и добавление. Смысл тот же самый, то ссылка генерируется с ключом "ajaxAddToCart".
PS Селекторы поменяйте для себя, это экспериментальная версия скрипта. Go to the full post