Inga Опубликовано 30 ноября, 2012 Жалоба Поделиться Опубликовано 30 ноября, 2012 Тоже добавила эту доработку на свой сайт, заданное количество добавляет, но теперь при нажатии кнопки в корзину перебрасывает в саму корзину. Что сделала: в копии дефолтного шаблона в в ajax_cart.js с variant: $(this).find('input[name=variant]:checked').val(); на variant: $(this).find('input[name=variant]:checked').val(),amount: $(this).find('input[name=amount]').val(); и в products.tpl добавила< input type="text" name="amount" value="10"/ > Цитата Ссылка на сообщение Поделиться на другие сайты
Tigran Опубликовано 2 декабря, 2012 Жалоба Поделиться Опубликовано 2 декабря, 2012 Что-то у меня не получается, чтобы он не перекидывал в корзину. Делал все так, как написано. Объясните пожалуйста поподробнее как исправить? Цитата Ссылка на сообщение Поделиться на другие сайты
mluchaninov Опубликовано 2 декабря, 2012 Жалоба Поделиться Опубликовано 2 декабря, 2012 Все работает идеально, спасибо!Подскажите пожалуйста как реализовать то же самое, только выпадающим списком, в точности как в корзине? Цитата Ссылка на сообщение Поделиться на другие сайты
Tigran Опубликовано 3 декабря, 2012 Жалоба Поделиться Опубликовано 3 декабря, 2012 // Аяксовая корзина $(‘form.variants’).live(‘submit’, function(e) { e.preventDefault(); button = $(this).find(‘input[type=submit]‘); if($(this).find(‘input[name=variant]:checked’).size()>0) variant = $(this).find(‘input[name=variant]:checked’).val(); if($(this).find(‘select[name=variant]‘).size()>0) variant = $(this).find(‘select’).val(); $.ajax({ url: «ajax/cart.php», data: {variant: $(this).find('input[name=variant]:checked').val(),amount: $(this).find('input[name=amount]').val();}, dataType: ‘json’, success: function(data){ $(‘#cart_informer’).html(data); if(button.attr(‘data-result-text’)) button.val(button.attr(‘data-result-text’)); } }); var o1 = $(this).offset(); var o2 = $(‘#cart_informer’).offset(); var dx = o1.left — o2.left; var dy = o1.top — o2.top; var distance = Math.sqrt(dx * dx + dy * dy); $(this).closest(‘.product’).find(‘.image img’).effect(«transfer», { to: $(«#cart_informer»), className: «transfer_class» }, distance); $(‘.transfer_class’).html($(this).closest(‘.product’).find(‘.image’).html()); $(‘.transfer_class’).find(‘img’).css(‘height’, ’100%’); return false; }); Цитата Ссылка на сообщение Поделиться на другие сайты
Tigran Опубликовано 3 декабря, 2012 Жалоба Поделиться Опубликовано 3 декабря, 2012 Вот код, делал в точности как описано, подскажите пожалуйста где ошибка? Цитата Ссылка на сообщение Поделиться на другие сайты
SV911 Опубликовано 23 января, 2013 Жалоба Поделиться Опубликовано 23 января, 2013 . Цитата Ссылка на сообщение Поделиться на другие сайты
VladimirGaydamak Опубликовано 21 февраля, 2013 Жалоба Поделиться Опубликовано 21 февраля, 2013 для версии 2.5 надоdata: {variant: variant,amount: $(this).find('input[name=amount]').val();}у меня так работает. Цитата Ссылка на сообщение Поделиться на другие сайты
VladimirGaydamak Опубликовано 21 февраля, 2013 Жалоба Поделиться Опубликовано 21 февраля, 2013 скоро выложу про добавление произвольного дробного количества например для весового товара Цитата Ссылка на сообщение Поделиться на другие сайты
Brigadir Опубликовано 22 апреля, 2013 Жалоба Поделиться Опубликовано 22 апреля, 2013 Странно однако, только что заменил строку в ajax_cart.jsсdata: {variant: $(this).find('input[name=variant]:checked').val()},наdata: {variant: $(this).find('input[name=variant]:checked').val(),amount: $(this).find('input[name=amount]').val()},в products.tpl добавил < input type="text" name="amount" value="10">и все работаетВ корзину только у меня перекидывает при нажатии на кнопку? В чём может быть дело? Цитата Ссылка на сообщение Поделиться на другие сайты
Kpoxa Опубликовано 22 апреля, 2013 Жалоба Поделиться Опубликовано 22 апреля, 2013 Проверьте подключены ли jquery и jquery ui Цитата Ссылка на сообщение Поделиться на другие сайты
Brigadir Опубликовано 22 апреля, 2013 Жалоба Поделиться Опубликовано 22 апреля, 2013 Проверьте подключены ли jquery и jquery uiПодключены конечно же. Цитата Ссылка на сообщение Поделиться на другие сайты
Brigadir Опубликовано 22 апреля, 2013 Жалоба Поделиться Опубликовано 22 апреля, 2013 Проверьте подключены ли jquery и jquery uiВозможно, код изменяется в зависимости от версии CMC. Нужно решение для 2.1.5. Цитата Ссылка на сообщение Поделиться на другие сайты
Brigadir Опубликовано 22 апреля, 2013 Жалоба Поделиться Опубликовано 22 апреля, 2013 *CMS Цитата Ссылка на сообщение Поделиться на другие сайты
Brigadir Опубликовано 23 апреля, 2013 Жалоба Поделиться Опубликовано 23 апреля, 2013 Очень жаль, что никто не подскажет где же всё-таки ошибка и почему перекидывает в корзину... Однако хочется выложить ссылку на тьюториал о том, как это поле ввода сделать более функциональным и, в конечном итоге, удобным для клиента. Вот ссылка: Увеличить и уменьшить значение в поле Input Цитата Ссылка на сообщение Поделиться на другие сайты
Brigadir Опубликовано 24 апреля, 2013 Жалоба Поделиться Опубликовано 24 апреля, 2013 Помогите же исправить баг с перебросом в корзину! Цитата Ссылка на сообщение Поделиться на другие сайты
Brigadir Опубликовано 24 апреля, 2013 Жалоба Поделиться Опубликовано 24 апреля, 2013 У меня ajax_cart.js без изменений выглядит вот так: // Аяксовая корзина $('form.variants').live('submit', function(e) { e.preventDefault(); button = $(this).find('input[type="submit"]'); if($(this).find('input[name=variant]:checked').size()>0) variant = $(this).find('input[name=variant]:checked').val(); if($(this).find('select[name=variant]').size()>0) variant = $(this).find('select').val(); $.ajax({ url: "ajax/cart.php", data: {variant: variant}, dataType: 'json', success: function(data){ $('#cart_informer').html(data); if(button.attr('data-result-text')) button.val(button.attr('data-result-text')); } }); var o1 = $(this).offset(); var o2 = $('#cart_informer').offset(); var dx = o1.left - o2.left; var dy = o1.top - o2.top; var distance = Math.sqrt(dx * dx + dy * dy); $(this).closest('.product').find('.image img').effect("transfer", { to: $("#cart_informer"), className: "transfer_class" }, distance); $('.transfer_class').html($(this).closest('.product').find('.image').html()); $('.transfer_class').find('img').css('height', '100%'); return false; }); /* // Аяксовая корзина $('a[href*="cart?variant"]').live('click', function(e) { e.preventDefault(); //variant_id = $(this).attr('id'); href = $(this).attr('href'); pattern = /\/?cart\?variant=(\d+)$/; variant_id = pattern.exec(href)[1]; link = $(this); $.ajax({ url: "ajax/cart.php", data: {variant: variant_id}, dataType: 'json', success: function(data){ $('#cart_informer').html(data); //if(link.attr('added_text')) // link.html(link.attr('added_text')); //link.attr('href', '/cart'); } }); var o1 = $(this).offset(); var o2 = $('#cart_informer').offset(); var dx = o1.left - o2.left; var dy = o1.top - o2.top; var distance = Math.sqrt(dx * dx + dy * dy); $(this).closest('.product').find('.image img').effect("transfer", { to: $("#cart_informer"), className: "transfer_class" }, distance); $('.transfer_class').html($(this).closest('.product').find('.image').html()); $('.transfer_class').find('img').css('height', '100%'); return false; }); */ Манипуляции с приведённым Крохой кодом не дают желаемого результата. В корзину товар добавляется, вариант товара отслеживается, количество верное, но есть одно "НО" - при нажатии на кнопку "В корзину" происходит редирект в ***/cart/... Помогите разобраться. (Версия 2.1.5) Цитата Ссылка на сообщение Поделиться на другие сайты
Wizard Опубликовано 24 апреля, 2013 Жалоба Поделиться Опубликовано 24 апреля, 2013 form.variants проверьте - указан ли класс в форме Цитата Ссылка на сообщение Поделиться на другие сайты
Brigadir Опубликовано 24 апреля, 2013 Жалоба Поделиться Опубликовано 24 апреля, 2013 form.variants проверьте - указан ли класс в формеГде смотреть? Не соображу. У меня в коде корзины нет того, что выше привёл Кроха. Что в моём случае можно сделать? Цитата Ссылка на сообщение Поделиться на другие сайты
Kpoxa Опубликовано 24 апреля, 2013 Жалоба Поделиться Опубликовано 24 апреля, 2013 покажите index.tpl и cart_informer.tplа form.variants в тех шаблонах где есть кнопка добавления в корзину в вашем варианте, нужно изменить data: {variant: variant}, на data: {variant: variant,amount: $(this).find('input[name="amount"]').val()}, Цитата Ссылка на сообщение Поделиться на другие сайты
Brigadir Опубликовано 24 апреля, 2013 Жалоба Поделиться Опубликовано 24 апреля, 2013 покажите index.tpl и cart_informer.tplа form.variants в тех шаблонах где есть кнопка добавления в корзину в вашем варианте, нужно добавить amount: $(this).find('input[name="amount"]').val()}, после data: {variant: variant}, Код отправил Вам в личном сообщении. Большое спасибо за подсказку, Буду пробовать. Цитата Ссылка на сообщение Поделиться на другие сайты
Kpoxa Опубликовано 24 апреля, 2013 Жалоба Поделиться Опубликовано 24 апреля, 2013 вот еще дополнение к данной темеhttp://pcvector.net/scripts/forms/380-uvelichit-i-umenshit-znachenie-v-pole-input.html Цитата Ссылка на сообщение Поделиться на другие сайты
Brigadir Опубликовано 24 апреля, 2013 Жалоба Поделиться Опубликовано 24 апреля, 2013 Спасибо Крохе! Теперь карточка товара выглядит как-то так Цитата Ссылка на сообщение Поделиться на другие сайты
Jan Опубликовано 27 июня, 2013 Жалоба Поделиться Опубликовано 27 июня, 2013 пробовала все ваши варианты но или просто не работает, или при добавлении в корзину сразу переходит на страницу заказов и ничего не добавляет. Цитата Ссылка на сообщение Поделиться на другие сайты
Kosjak76 Опубликовано 27 июня, 2013 Жалоба Поделиться Опубликовано 27 июня, 2013 Значит, что-то вы сделали неправильно. Цитата Ссылка на сообщение Поделиться на другие сайты
Jan Опубликовано 27 июня, 2013 Жалоба Поделиться Опубликовано 27 июня, 2013 возможно.вот код ajax_cart.js без изменений версии 2.1.5 // Аяксовая корзина $('form.variants').live('submit', function(e) { e.preventDefault(); button = $(this).find('input[type="submit"]'); if($(this).find('input[name=variant]:checked').size()>0) variant = $(this).find('input[name=variant]:checked').val(); if($(this).find('select[name=variant]').size()>0) variant = $(this).find('select').val(); $.ajax({ url: "ajax/cart.php", data: {variant: variant}, dataType: 'json', success: function(data){ $('#cart_informer').html(data); if(button.attr('data-result-text')) button.val(button.attr('data-result-text')); } }); var o1 = $(this).offset(); var o2 = $('#cart_informer').offset(); var dx = o1.left - o2.left; var dy = o1.top - o2.top; var distance = Math.sqrt(dx * dx + dy * dy); $(this).closest('.product').find('.image img').effect("transfer", { to: $("#cart_informer"), className: "transfer_class" }, distance); $('.transfer_class').html($(this).closest('.product').find('.image').html()); $('.transfer_class').find('img').css('height', '100%'); return false; }); меняла data: {variant: variant}, на data: {variant: variant,amount: $(this).find('input[name="amount"]').val()}, ничего не добавляет и переходит сразу в корзину. Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.