Я использую ajax для добавления товара в корзину, используя код:
$cart = Mage::getModel('checkout/cart')->getQuote();
$cart->addProduct($product,array('qty'=>1));
$cart->save();
Mage::getSingleton('checkout/session')->setCartWasUpdated(true);
Когда я нажимаю на кнопку «Добавить в корзину», это успешно добавляет продукт (скажем, CPU), затем я добавляю любой другой продукт (скажем, «Ноутбук»), затем не удается добавить продукт «Ноутбук» в корзину, но когда я добавляю продукт «Ноутбук» во второй раз, он успешно добавлен в корзину. Я не могу найти проблему. Пожалуйста помоги.
Заранее спасибо.
В magento процесс добавления в корзину представляет собой простой процесс отправки формы, поэтому страница перезагружается. Поэтому корзина покупок на основе Ajax позволяет ускорить процесс покупки. Пошаговый процесс: Как добавить продукт в корзину с помощью Ajax
Просто позвоните, добавьте товар в корзину, нажмите на кнопку с атрибутом 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 по умолчанию добавить в корзину контроллер .. надеюсь, это будет полезно для вас