magento controller直接渲染Block 以及传参
class Jago_Deal_IndexController extends Mage_Core_Controller_Front_Action { public function ajaxAction() { $block = $this->getLayout()->createBlock('deal/list')->setTemplate('persistent/customer/form/login.phtml'); $this->getResponse()->setBody($block->toHtml()); } } 这样就可以在访问页面时,直接把deal Block渲染到页面了,当然如果在Block页面已经设定模板,就不需要setTemplate了
接下去是往Block里传参的问题了,假设传个参数名为dealStatus。 首先是Block页面写个set函数 public function setDealStatus($dealStatus) { $this->dealStatus = $dealStatus; } 然后在Controller页面 $block = $this->getLayout()->createBlock('deal/list'); $block ->setDealStatus( ‘hello’); $this->getResponse()->setBody($block->toHtml()); 这样在Blcok页面中就可以这样调用了 $this->dealStatus (责任编辑:最模板) |