首页 > 代码库 > magento controller直接渲染Block
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
参考自:http://www.magentocommerce.com/boards/viewthread/34293/
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。