Вызов msCart через ajax и совместно с msMiniCart
        Проблемная страничка new.kami-kadze.ru/sets/
Собственно имеем:
На странице по умолчанию вызывается только msMiniCart.
При клике на msMiniCart аяксом в попап подгружается msCart. В DOM отлично встраивается элемент с id=«msCart» и правильным содержимым корзины.
Однако при добавлении новых товаров обновляется только миникорзина. Содержимое полной корзины не меняется.
Пробовал вызов без аякса — аналогичная проблема.
Перерыл все похожие вопросы и ничего не решилось
    
    
                                                                                
            Собственно имеем:
На странице по умолчанию вызывается только msMiniCart.
При клике на msMiniCart аяксом в попап подгружается msCart. В DOM отлично встраивается элемент с id=«msCart» и правильным содержимым корзины.
Однако при добавлении новых товаров обновляется только миникорзина. Содержимое полной корзины не меняется.
Пробовал вызов без аякса — аналогичная проблема.
Перерыл все похожие вопросы и ничего не решилось
Комментарии: 11
                У тебя большая корзина загружается только один раз, а потом modal ее кэширует. Это хорошо видно по запросам в консоли браузера.
Да и в документации описано:
                    Да и в документации описано:
If a remote URL is provided, content will be loaded one time via jQuery's load method and injected into the .modal-content div.Так что, нужно загружать своим скриптом, вручную вызывая modal.
                Это да. modal встроил элемент в DOM при первом клике. Дальше хочется чтоб его уже обновлял минишоп. Или я слегка преувеличиваю возможности аякс обновления msCart?            
                    
                В корзине есть изменение количества и удаление товаров.
Добавления товаров там никогда не было.
                    Добавления товаров там никогда не было.
                хм. заменил на подгрузку через colorbox, который не кеширует ajax запрос и получилось то что хотел.
Для тех кто столкнется решение просто:
js
ну и ресурс (у меня 23) — пустой шаблон с содержимым
                    Для тех кто столкнется решение просто:
js
$(document).ready(function () {
$(".ajax").colorbox();
});чанк msMiniCart<div id="msMiniCart" [[+total_count:isnot=`0`:then=`class="full"`:else=``]]>
	<div class="empty">
		<h4> Корзина: [[%ms2_minicart_is_empty]]</h4>
	</div>
	<div class="not_empty">
		<a class='ajax' href="[[~23]]"><h4>Корзина: <strong class="ms2_total_count">[[+total_count]]</strong> шт. - <strong class="ms2_total_cost">[[+total_cost]]</strong> р.</h4></a>
	</div>
</div>ну и ресурс (у меня 23) — пустой шаблон с содержимым
[[!msCart?]][[!msOrder?]]            
                У нас что-то подобное в магазине, только вручную прописан
$.post запрос при клике по ссылке, ответ вставляется div и на него вызывается modal().
В общем, молодец!
                    $.post запрос при клике по ссылке, ответ вставляется div и на него вызывается modal().
В общем, молодец!
                Всё же одна проблема осталась — количество товаров не меняется в msCart. Хотя удаляется отлично (js). Что я напутал?            
                    
                Как заметил работает если набрать число и нажать энтер. Видимо не навешивается какая-то функция на событие… Подскажи, какое событие и функция?            
                    
                Скрипт пытается инициализировать корзину сразу после загрузки страницы, когда её еще нет у тебя в DOM:
                    ,initialize: function() {
	miniShop2.Cart.setup();
	if (!$(miniShop2.Cart.cart).length) return; // Вот здесь скрипт и выходит
	// А вот это событие на изменение кол-ва товара
	miniShop2.$doc.on('change', miniShop2.Cart.cart + ' ' + miniShop2.Cart.countInput, function() {
		$(this).closest(miniShop2.form).submit();
	});
 }Нужно навешать это событие вручную, или вызвать miniShop2.Cart.initialize() после первой загрузки корзины.            
                Огромное спасибо.
Реализовал:
                    Реализовал:
$(".ajax").colorbox({
onComplete:function(){ miniShop2.Cart.initialize(); },
});+ отправил спасибо )            
                Я сейчас пишу для себя подобный скрипт со всплывающей корзиной. Столкнулся с той же проблемой, что есть и у тебя. Если добавить товар в корзину, (открыть всплывающую корзину потом закрыть)*(повторить раз пять), а потом изменить во всплывающей корзине кол-во товара, начинается какафония из jGlowl.
Я так понимаю создаются дубликаты miniShop2.Cart.initialize();? Вот как исправить – вопрос :) Василий, поможешь?
Скрин:
yadi.sk/d/a2ig2tsPKJGKk
                    Я так понимаю создаются дубликаты miniShop2.Cart.initialize();? Вот как исправить – вопрос :) Василий, поможешь?
Скрин:
yadi.sk/d/a2ig2tsPKJGKk
                Разобрался. При закрытии окна делаю так: 
                    miniShop2.Cart.initialize = null;            
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.