Skip to content

Instantly share code, notes, and snippets.

@somangshu
Last active February 10, 2016 17:51
Show Gist options
  • Save somangshu/db57c5fa590a92de1dc1 to your computer and use it in GitHub Desktop.
Save somangshu/db57c5fa590a92de1dc1 to your computer and use it in GitHub Desktop.
Ajax binding to controller for response in magento.
/**
* adding cologne bundle to cart
* @return json response
*/
public function addtocartAction() {
$productId = Mage::app()->getRequest()->getParam('productId');
$options = Mage::app()->getRequest()->getParam('options');
try {
$params = array(
'product' => $productId,
'related_product' => null,
'bundle_option' => $options,
'qty' => 1,
);
$cart = Mage::getModel('checkout/cart');
$product = new Mage_Catalog_Model_Product();
$product->load($productId);
$cart->addProduct($product, $params);
$cart->save();
Mage::getSingleton('checkout/session')->setCartWasUpdated(true);
Mage::dispatchEvent('checkout_cart_add_product_complete',
array('product' => $product, 'request' => $this->getRequest(), 'response' => $this->getResponse())
);
$totalItemsInCart = Mage::helper('checkout/cart')->getCart()->getItemsCount();
// print($totalItemsInCart);
$response['cartitemqty'] = $totalItemsInCart;
$response['status'] = true;
$response['errorsign'] = 0;
} catch (Mage_Core_Exception $e) {
$response['errorsign'] = 2;
$response['activitymessage'] = $e->getMessage();
} catch (Exception $e) {
$response['errorsign'] = 2;
$response['activitymessage'] = $e->getMessage();
}
// }
$this->getResponse()->setBody(Mage::helper('core')->jsonEncode($response));
return;
}
/** add the final formed bundle to cart to complete the process */
$(document.body).on("click", "#addToCartCologneGifts", function() {
$(this).addClass('in-progress');
$(this).addClass('disabled_ajax');
_.each(bundleArray, function(value, key) {
var cologneAddToCart = baseUrl+'cologne/index/addtocart';
jQuery.ajax({
url: cologneAddToCart,
dataType: 'json',
type: 'POST',
data: {
'productId' : key,
'options' : value
},
success: function(response){
$('#addToCartCologneGifts').removeClass('in-progress');
$('#addToCartState').text('Added To Cart')
$('.cart_count').text(response.cartitemqty)
$('#cologneFinalState').fadeIn();
},
});
});
});
<div class="col-sm-12 col-xs-12 text-center cologne_continue">
<a id="addToCartCologneGifts" class="col-sm-5 btn btn-primary">
<div class="col-sm-2 col-xs-3 rupee"><span class="WebRupee">`</span><span class="totalPrice"> 0</span></div>
<div id="addToCartState" class="col-sm-9 col-xs-9"><span class="cologne_continue_text">Add to cart</span><span class="pull-right moz-pull-right-margin"> <i class="fa fa-chevron-right faa-horizontal animated"></i> </span></div>
</a>
</div>
@somangshu
Copy link
Author

ajax communication client server through javascript

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment