Лучший Ответ 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 Селекторы поменяйте для себя, это экспериментальная версия скрипта. Перейти к сообщению


Тема закрыта








