Обновление корзины на странице категории
Каким образом можно обновлять корзину без обновления страницы? Мне нужно вызывать корзину в модальном
окне. Товары удаляются, сумма считается в реальном времени, но новые появляются только после обновления.
окне. Товары удаляются, сумма считается в реальном времени, но новые появляются только после обновления.
Комментарии: 15
Смотри в JavaScript, там есть метод miniShop2.Cart.status, он получает состояние корзины и обновляет ее на странице.
Этот метод там есть, но он есть в каждом действии корзины и в «add» в том числе. Вы уверены что это оно?
Понятно — речь про миникорзину. Но мне нужна основная. Понял, что корзина прописывает в код страницы строчки с товарами, но не добавляет их в реальном времени. У метода .remove есть функция remove_position. Можно дать намек как сделать нечто подобное для метода .add?
В смысле, научить использовать jquery?
Отправляешь ajax запрос на сервер, своему скрипту, он смотрит в корзину и возвращает оформленные товары, которые ты вставляешь на страницу.
В родном функционале этого нет, но легко можно сделать своим сниппетом.
Отправляешь ajax запрос на сервер, своему скрипту, он смотрит в корзину и возвращает оформленные товары, которые ты вставляешь на страницу.
В родном функционале этого нет, но легко можно сделать своим сниппетом.
Дело в том, что minishop2 блокирует ajax запросы и с помощью этого сниппета и с помощью голого jquery по load. Обновиться корзине получается, но где-то один раз из 10 событий по клику на кнопке «В корзину», миникорзина и сама корзина стопорится товары в них не собираются. Без Ajax все отлично.
Я понимаю что не программист, но вижу тут подобие бага, его можно обойти?
Я понимаю что не программист, но вижу тут подобие бага, его можно обойти?
Как он может блокировать запросы?!
Ты хоть в исходный код загляни, где там блокировки? Там набор методов, которые вызываются, когда нужны.
При загрузке страницы запускается только miniShop2.initialize();, который устанавливает обработчики на некоторые элементы.
Например, на ссылки с классом «ms2_link», но никто не мешает тебе добавить еще и свой класс и повешать собственное событие на него.
Никаких «блокировок» нет.
Ты хоть в исходный код загляни, где там блокировки? Там набор методов, которые вызываются, когда нужны.
При загрузке страницы запускается только miniShop2.initialize();, который устанавливает обработчики на некоторые элементы.
Например, на ссылки с классом «ms2_link», но никто не мешает тебе добавить еще и свой класс и повешать собственное событие на него.
Никаких «блокировок» нет.
единственное что помогло установка setInterval на 2000 по событию на клик
корзина не желает обновлять инфу сразу и это уже косяк минишопа
блокировка запросов происходит следствием неспособности корзины отдать товары мгновенно
корзина не желает обновлять инфу сразу и это уже косяк минишопа
блокировка запросов происходит следствием неспособности корзины отдать товары мгновенно
Ну косяк, так косяк.
Тебе виднее, несмотря на «понимаю что не программист».
Тебе виднее, несмотря на «понимаю что не программист».
мне не виднее
просто я не вижу других объяснений
вы если не хотите разбираться не отвечайте
ну вы отвечаете я и пытаюсь что-то вытянуть
видимо нет смысла, замолкаю
просто я не вижу других объяснений
вы если не хотите разбираться не отвечайте
ну вы отвечаете я и пытаюсь что-то вытянуть
видимо нет смысла, замолкаю
прошу прощения, это я протупил с аяксом
нужно проверять загрузку на ошибку и грузить снова
тем не менее клиентов посылать тоже надо уметь -)
нужно проверять загрузку на ошибку и грузить снова
тем не менее клиентов посылать тоже надо уметь -)
Ты не клиент.
Те кто заказал и оплатил miniShop2 — клиенты =)
Те кто заказал и оплатил miniShop2 — клиенты =)
это поверхностная точка зрения
что с программиста взять -)
без обид
что с программиста взять -)
без обид
Тебе виднее.
Кому нужна корзина на странице категории или товара.
Не вижу смысла использовать ее в таком случае за пределами модального окна.
В таком случае используем этот мод модального окна для bootstrap. В демо смотрим пример с ajax
github.com/jschr/bootstrap-modal
Или используем следующую конструкцию.
var $modal = $('#div_target');
$('button.cart_add').on('click', function(){
setTimeout(function(){
$modal.load('modal_ajax.html', '', function(){
$modal.modal();
});
}, 1000);
});
З.Ы. работа следующего кода без мода по ссылке не проверялась. Подошло и ладно.
Не вижу смысла использовать ее в таком случае за пределами модального окна.
В таком случае используем этот мод модального окна для bootstrap. В демо смотрим пример с ajax
github.com/jschr/bootstrap-modal
Или используем следующую конструкцию.
var $modal = $('#div_target');
$('button.cart_add').on('click', function(){
setTimeout(function(){
$modal.load('modal_ajax.html', '', function(){
$modal.modal();
});
}, 1000);
});
З.Ы. работа следующего кода без мода по ссылке не проверялась. Подошло и ладно.
Простите, а что находится на странице modal_ajax.html? Страница корзины, которая подгружается в модальное окно?
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.