I copied estimatePostAction and made estimateAjaxPostAction (overrided core - i did not hack the core). The controller action works as well (class Mage_Checkout_CartController).
Now I want to get/create a block for replace shipping block after estimate shipping with ajax. I tried this:
public function estimateAjaxPostAction()
{
$country = (string) $this->getRequest()->getParam('country_id');
$postcode = (string) $this->getRequest()->getParam('estimate_postcode');
$city = (string) $this->getRequest()->getParam('estimate_city');
$regionId = (string) $this->getRequest()->getParam('region_id');
$region = (string) $this->getRequest()->getParam('region');
$this->_getQuote()->getShippingAddress()
->setCountryId($country)
->setCity($city)
->setPostcode($postcode)
->setRegionId($regionId)
->setRegion($region)
->setCollectShippingRates(true);
$this->_getQuote()->save();
//$this->_goBack();
$this->loadLayout();
$block = $this->getLayout()->createBlock('Mage_Checkout_Block_Cart_Shipping','checkout.cart.shipping.ajax',array('template' => 'checkout/cart/shipping.phtml'));
if($block) {
$response = array();
$response['shipping'] = $block->toHtml();
$this->getResponse()->setBody(Mage::helper('core')->jsonEncode($response));
}
}
The block checkout.cart.shipping.ajax was created. But toHtml() returns nothing.
My json returns: {"shipping":""}
Why toHtml method doesn't work?
-
did you ever figure this out?thindery– thindery2014年04月11日 13:04:18 +00:00Commented Apr 11, 2014 at 13:04
-
Answered at StackOverflow by Amit Bera: stackoverflow.com/questions/21601634/…Denis Spalenza– Denis Spalenza2014年04月12日 02:20:23 +00:00Commented Apr 12, 2014 at 2:20
1 Answer 1
Try
....
$loadLayout = $this->loadLayout();
$block = $loadLayout->createBlock(
'checkout/cart_shipping',
'checkout.cart.shipping.ajax'
)->setTemplate('checkout/cart/shipping.phtml');
if($block) {
$response = array();
$response['shipping'] = $block->toHtml();
$this->getResponse()->setBody(Mage::helper('core')->jsonEncode($response));
}
....
-
oh, you wrote description for your name, awesome boss.....Baby in Magento– Baby in Magento2016年10月05日 13:39:48 +00:00Commented Oct 5, 2016 at 13:39
Explore related questions
See similar questions with these tags.