Добавляю товар в корзину через ajax и сразу обновляю виджет корзины на главной страницы через pjax.reload:
Код: Выделить всё
$('.block2-btn-addcart').each(function(){
var nameProduct = $(this).parent().parent().parent().find('.block2-name').html();
$(this).on('click', function(){
var params = {
'id': $(this).find('button').attr('data-id'),
'<?= Yii::$app->request->csrfParam ?>' : '<?= Yii::$app->request->getCsrfToken()?>'
};
$.post('/shop/cart/ajax-add', params, function(data) {
if (data.success) {
$.pjax.reload({container: '#cart_widget'});
swal(nameProduct, "Добавлен в корзину!", "success");
} else {
swal(nameProduct, data.message, "error");
}
});
return false;
});
});
Код: Выделить всё
<?php Pjax::begin(['id' => 'cart_widget']); ?>
<?= CartWidget::widget() ?>
<?php Pjax::end(); ?>
Код: Выделить всё
(function ($) {
"use strict";
/*[ Show header dropdown ]
===========================================================*/
$('.js-show-header-dropdown').on('click', function(){
$(this).parent().find('.header-dropdown')
});
var menu = $('.js-show-header-dropdown');
var sub_menu_is_showed = -1;
for(var i=0; i<menu.length; i++){
$(menu[i]).on('click', function(){
if(jQuery.inArray( this, menu ) == sub_menu_is_showed){
$(this).parent().find('.header-dropdown').toggleClass('show-header-dropdown');
sub_menu_is_showed = -1;
}
else {
for (var i = 0; i < menu.length; i++) {
$(menu[i]).parent().find('.header-dropdown').removeClass("show-header-dropdown");
}
$(this).parent().find('.header-dropdown').toggleClass('show-header-dropdown');
sub_menu_is_showed = jQuery.inArray( this, menu );
}
});
}
$(".js-show-header-dropdown, .header-dropdown").click(function(event){
event.stopPropagation();
});
$(window).on("click", function(){
for (var i = 0; i < menu.length; i++) {
$(menu[i]).parent().find('.header-dropdown').removeClass("show-header-dropdown");
}
sub_menu_is_showed = -1;
});
})(jQuery);