При добавлении товара в корзину вылезает попап с уведомлением, что товар добавлен. Как его нафиг отменить ? OcStore 1.5.5.2 Манимейкер Хочу сделать человеческий полёт в корзину, но этот попап не позволяет это сделать. В управлении шаблоном таких настроек нет. Я так понял, реализовано с помощью Colorbox. Пробовал убирать его - отваливается слайдшоу картинок и вообще добавление в корзину не работает. Потом я смотрел moneymaker.js в /catalog/view/javascript/, нашёл там Код: function addToCart(product_id, quantity) { quantity = typeof(quantity) != 'undefined' ? quantity : 1; $.ajax({ url: 'index.php?route=checkout/cart/add', type: 'post', data: 'product_id=' + product_id + '&quantity=' + quantity, dataType: 'json', success: function(json) { $('.success, .warning, .attention, .information, .error').remove(); if (json['redirect']) { location = json['redirect']; } if (json['success']) { $("#image-appendix").remove() $.colorbox({ width: '550px', close: "<button class='btn btn-default' type='button'><i class='fa fa-fw fa-times'></i></button>", onComplete: function() { if(navigator.appVersion.indexOf("MSIE 8.")!=-1) {$("html, body").animate({scrollTop:0}, 'slow');}; }, html: "<h4 class='col-xs-12 text-center'>" + json['success'] + "</h4><p class='text-center'><a href='" + link_checkout + "' class='btn btn-lg btn-primary'><i class='fa fa-fw fa-share'></i> <span>" + button_checkout + "</span></a></p><p class='text-center'><a onclick='$.colorbox.close()' class='btn btn-default'>" + button_shopping + "</a></p>", title:"" }); $('#cart').load('index.php?route=module/cart' + ' #cart > *'); } } }); } Но что тут надо убрать - не догоняю. В общем, я сдаюсь. 2 часа с этим куском кода без понимания кода прошли впустую. Мне надо только убрать попап. Может вообще не тут надо смотреть ? Какие есть мысли ?
Ох. Всё ведь очевидно. Код: if (json['success']) { $("#image-appendix").remove() $.colorbox({ width: '550px', close: "<button class='btn btn-default' type='button'><i class='fa fa-fw fa-times'></i></button>", onComplete: function() { if(navigator.appVersion.indexOf("MSIE 8.")!=-1) {$("html, body").animate({scrollTop:0}, 'slow');}; }, html: "<h4 class='col-xs-12 text-center'>" + json['success'] + "</h4><p class='text-center'><a href='" + link_checkout + "' class='btn btn-lg btn-primary'><i class='fa fa-fw fa-share'></i> <span>" + button_checkout + "</span></a></p><p class='text-center'><a onclick='$.colorbox.close()' class='btn btn-default'>" + button_shopping + "</a></p>", title:"" }); $('#cart').load('index.php?route=module/cart' + ' #cart > *'); } Вот этот кусок кода обрабатывает успешный ответ от сервера. И здесь же можно увидеть вызов colorbox для этого попапа, именно его и нужно убирать.
Dotrox, нет, видимо, не в этом файле вызов идёт :( Если я убираю этот кусок - всё работает. Я даже всю function addToCart убираю - тоже всё работает. Ранее я пытался убрать части кода в onComplete: function() и тогда попап оставался, но переставали работать некоторые функции всплывающей корзины слева сверху. Но попап оставался. Вот я и решил, что я не то удаляю.
Не знаю, как в Манимейкере, но вообще обычно есть два обработчика для кнопки добавления в корзину: на странице товара код в теле самой страницы внизу, для всех остальных страниц (и товаров на странице товара, которые выводятся модулями) код в common.js. Как я понимаю, этот файл является заменой для common.js, то есть этот код работает для всех кнопок, кроме кнопки основного товара на странице товара.
Нашёёёёёл !!!!!!!! Вызывается из файла product.tpl в /catalog/view/theme/moneymaker/template/product/ Вот похожий кусок кода оттуда Код: <script type="text/javascript"><!-- $('#button-cart').bind('click', function() { $.ajax({ url: 'index.php?route=checkout/cart/add', type: 'post', data: $('#product-controls input[type=\'text\'], #product-controls input[type=\'number\'], #product-controls input[type=\'date\'], #product-controls input[type=\'datetime-local\'], #product-controls input[type=\'time\'], #product-controls input[type=\'hidden\'], #product-controls input[type=\'radio\']:checked, #product-controls input[type=\'checkbox\']:checked, #product-controls select, #product-controls textarea'), dataType: 'json', success: function(json) { $('.success, .warning, .attention, .information, .error').remove(); if (json['error']) { if (json['error']['option']) { $.colorbox.close(); <?php if ($this->config->get('mmr_product_gallery_type')=='fancybox') { ?>$.fancybox.close();<?php } ?> $('.options .collapse').show(); $('.options .options-expand').hide(); for (i in json['error']['option']) { $('#input-option' + i).after('<span class="error">' + json['error']['option'][i] + '</span>'); } } } if (json['success']) { $.colorbox({ width: '550px', close: "<button class='btn btn-default' type='button'><i class='fa fa-fw fa-times'></i></button>", onComplete: function() { if(navigator.appVersion.indexOf("MSIE 8.")!=-1) {$("html, body").animate({scrollTop:0}, 'slow');}; }, html: "<h4 class='col-xs-12 text-center'>" + json['success'] + "</h4><p class='text-center'><a href='<?php echo $this->url->link('checkout/checkout', '', 'SSL'); ?>' class='btn btn-lg btn-primary'><i class='fa fa-fw fa-share'></i> <span><?php echo $this->language->get('button_checkout'); ?></span></a></p><p class='text-center'><a onclick='$.colorbox.close()' class='btn btn-default'><?php echo $this->language->get('button_shopping'); ?></a></p>", title:"" }); $('#cart').load('index.php?route=module/cart' + ' #cart > *'); } } }); }); //--></script> Вот это отвечает за попап Код: $.colorbox({ width: '550px', close: "<button class='btn btn-default' type='button'><i class='fa fa-fw fa-times'></i></button>", onComplete: function() { if(navigator.appVersion.indexOf("MSIE 8.")!=-1) {$("html, body").animate({scrollTop:0}, 'slow');}; }, html: "<h4 class='col-xs-12 text-center'>" + json['success'] + "</h4><p class='text-center'><a href='<?php echo $this->url->link('checkout/checkout', '', 'SSL'); ?>' class='btn btn-lg btn-primary'><i class='fa fa-fw fa-share'></i> <span><?php echo $this->language->get('button_checkout'); ?></span></a></p><p class='text-center'><a onclick='$.colorbox.close()' class='btn btn-default'><?php echo $this->language->get('button_shopping'); ?></a></p>", title:"" }); Вот это за добавление в окно корзины сверху справа Код: $('#cart').load('index.php?route=module/cart' + ' #cart > *'); Отключаем код вызова попапа и его больше нет. Аналогичным образом надо найти и удалить вызов попапа со страницы категорий и т.д. где он не нужен. Теперь вторая часть балета. Модуль летающей корзины так и не пашет... В общем, буду пробовать дальше копать. Чего накопаю - выложу. Тему предлагаю не удалять и не закрывать, по крайней мере, одно решение в ней есть
Ну, вот код из moneymaker.js и должен за это отвечать. Либо таки есть common.js и обработчик работает оттуда. И нужно не забывать чистить кеш браузера при редактировании js кода в отдельных файлах.
А там есть и moneymaker.js и common.js В common.js попроще написано. Я пробовал удалять и из common.js тоже, не даёт эффекта. Из продукт тпл даёт. Сейчас сижу без попапа и полёт в корзину пока не получается заставить работать. Думаю, чё дальше делать ))) При заказе сейчас вообще никакого уведомления.