Добавить продукт в корзину с помощью jquery ajax не работает

Я использую ajax для добавления товара в корзину, используя код:

$cart = Mage::getModel('checkout/cart')->getQuote();
$cart->addProduct($product,array('qty'=>1));
$cart->save();
Mage::getSingleton('checkout/session')->setCartWasUpdated(true);

Когда я нажимаю на кнопку «Добавить в корзину», это успешно добавляет продукт (скажем, CPU), затем я добавляю любой другой продукт (скажем, «Ноутбук»), затем не удается добавить продукт «Ноутбук» в корзину, но когда я добавляю продукт «Ноутбук» во второй раз, он успешно добавлен в корзину. Я не могу найти проблему. Пожалуйста помоги.
Заранее спасибо.

0

Решение

В magento процесс добавления в корзину представляет собой простой процесс отправки формы, поэтому страница перезагружается. Поэтому корзина покупок на основе Ajax позволяет ускорить процесс покупки. Пошаговый процесс: Как добавить продукт в корзину с помощью Ajax

1

Другие решения

Просто позвоните, добавьте товар в корзину, нажмите на кнопку с атрибутом url, например ..

> <button type="button" title="<?php echo $this->__('add to cart') ?>"> class="button btn-cart addsample" url ="<?php echo
> $this->getAddToCartUrl($_product) ?>"><span><span><?php echo
> $this->__('add to cart') ?></span></span></button></div>

Теперь используйте этот пост Ajax.

$j('button.addsample').click(function(){
$j(this).attr('disabled','disabled');

$j.ajax({
type: "POST",
cache   : false,
dataType: 'json',
url: $j(this).attr('url'),
data: data,
success:function(data){

setTimeout(function() {
window.location.reload();
}, 1600);},
error:function(){

setTimeout(function() {
window.location.reload();
}, 1600);

}});

});

Здесь я отправляю сообщение AJAX на контроллер magento по умолчанию добавить в корзину контроллер .. надеюсь, это будет полезно для вас

0