У вас скрипт не может сработать, потому что он повешан на элемент #button-cart, которого не существует, когда скрипт запускается. Если у вас jquery такая же, как и на этом сайте (1.7 и старше), то можете использовать метод .on() на элементе-родителе, который существует при запуске скрипта, а сам #button-cart указать как параметр:
$('#colorbox').on('click', '#button-cart', function() {
$.ajax({
url: 'index.php?route=checkout/cart/add',
type: 'post',
data: $('.product-info input[type=\'text\'], .product-info input[type=\'hidden\'], .product-info input[type=\'radio\']:checked, .product-info input[type=\'checkbox\']:checked, .product-info select, .product-info textarea'),
dataType: 'json',
success: function(json) {
$('.success, .warning, .attention, notificationz, .error').remove();
if (json['error']) {
location = json['redirect'];
}
if (json['success']) {
$('#notificationz').html('<div class="success" style="display: none;">' + json['success'] + '<img src="catalog/view/theme/default/image/close.png" alt="" class="close" /></div>');
$('.success').fadeIn('slow');
$('#cart-total').html(json['total']);
$('html, body').animate({ scrollTop: 0 }, 'slow');
}
}
});
});
Только вставляйте это в шаблон категории, а не товара.