Здравствуйте.
Opencart 3.0.3.3
Есть проблема - везде товар добавляется в корзину как положено, а вот со страницы товара никак, хоть есть опции хоть их нет - нифига не добавляется. Хотя при клике на "купить" кнопка "купить" изменяет свой текст как ей это заложено из метода "button" из bootstrap.js, но больше ничего не происходит, при обновлении страницы товар также не попадает в корзину. В консоле никаких ошибок нет.
Может какой-то тег или
id нечаянно удалил?! Но судя по скрипту все у меня в разметке есть, ломаю голову уже второй день, решил спросить свежий взгляд.
div#product существует, в нем есть опции в виде input и select
<script type="text/javascript">
//add
$('#button-cart').on('click', function() {
$.ajax({
url: 'index.php?route=checkout/cart/add',
type: 'post',
data: $('#product input[type="text"], #product input[type="hidden"], #product input[type="radio"]:checked, #product input[type="checkbox"]:checked, #product select, #product textarea'),
dataType: 'json',
beforeSend: function() {
$('#button-cart').button('loading');
},
complete: function() {
$('#button-cart').button('reset');
},
success: function(json) {
if (json['error']) {
if (json['error']['option']) {
for (i in json['error']['option']) {
var element = $('#input-option' + i.replace('_', '-'));
$.jGrowl(json['error']['option'][i]);
}
}
if (json['error']['recurring']) {
$.jGrowl(json['error']['recurring']);
}
}
if (json['success']) {
$.jGrowl(json['success']);
$('#cart > button').html('<span id="cart-total">' + json['total'] + '</span>');
$('#cart .inner').load('index.php?route=common/cart/info .inner .mini_product'); //тут не как из коробки, так как менял разметку корзины, НО написано тут все правильно, так как тоже самое работает в common.js (оттуда же и копировал строку)
}
},
error: function(xhr, ajaxOptions, thrownError) {
$.jGrowl(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
}
});
});
</script>