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/

magento controller直接渲染Block,布布扣,bubuko.com

时间: 2024-08-09 02:34:43

magento controller直接渲染Block的相关文章

Magento架构分析,Magento MVC 设计分析

Magento架构分析,Magento MVC 设计分析 分类:Magento 标签:Magento MVC.Magento架构 669人浏览 Magento 采用类似 JAVA的架构,其扩展与稳定性非常突出,也是在开源电商平台最优秀的,下面我大概分析一下其内部架构 Magento系统请求响应流程图 下面是具体请求步骤分析 用户向浏览器发出请求(高级话题:What really happens when you navigate to a URL) 浏览器向magento所在的服务器发出请求,m

magento的一些小技巧(转)

1.加载某个attribute: $attributeCode=Mage::getModel('catalog/resource_eav_attribute')                        ->load($attrbuteId)                        ->getData("attribute_code"); 2.获取某个attribute的所有option: $attributeObject=Mage::getModel('eav/

Magento中,调用静态块的几种方法[magento 二次开发]

在后台创建一个order_form静态块 Block Title :Order Form Identifier :order_form Status :Enabled Content :自定义内容 1.如果要在.phtml文件中直接调用这个静态块,那可以采用以下方法 [php] view plaincopy <?php $block = Mage::getModel('cms/block') ->setStoreId(Mage::app()->getStore()->getId()

Magento中,调用静态块的几种方法

在后台创建一个order_form静态块Block Title :Order FormIdentifier :order_formStatus :EnabledContent :自定义内容 1.如果要在.phtml文件中直接调用这个静态块,那可以采用以下方法 [php] view plaincopy <?php $block = Mage::getModel('cms/block') ->setStoreId(Mage::app()->getStore()->getId()) -&

Linux内核中的GPIO系统之(3):pin controller driver代码分析--devm_kzalloc使用【转】

转自:http://www.wowotech.net/linux_kenrel/pin-controller-driver.html 一.前言 对于一个嵌入式软件工程师,我们的软件模块经常和硬件打交道,pin control subsystem也不例外,被它驱动的硬件叫做pin controller(一般ARM soc的datasheet会把pin controller的内容放入GPIO controller的章节中),主要功能包括: (1)pin multiplexing.基于ARM core

微信小程序页面渲染

条件渲染:wx:if, wx:elif, wx:else <view wx:if="{{list.length > 5}}" >1</view> <view wx:elif="{{list.length > 2}}">2</view> <view wx:else>3</view> 由于wx:if是一个控制属性,需要将它添加到一个标签上,如果要一次性判断多个组件标签,可以使用<b

Beetl2.2使用说明书20151201

李家智<[email protected]> Table of Contents 1. 什么是Beetl 2. 基本用法 2.1. 从GroupTemplate开始 2.2. 模板基础配置 2.3. 模板资源加载器 2.4. 定界符与占位符号 2.5. 注释 2.6. 临时变量定义 2.7. 全局变量定义 2.8. 共享变量 2.9. 模板变量 2.10. 引用属性 2.11. 算数表达式 2.12. 逻辑表达式 2.13. 循环语句 2.14. 条件语句 2.15. try-catch 2.

MVC,MVP 和 MVVM 的图示 引用地址(http://www.ruanyifeng.com/blog/2015/02/mvcmvp_mvvm.html)

分类: 开发者手册 MVC,MVP 和 MVVM 的图示 作者: 阮一峰 日期: 2015年2月 1日 复杂的软件必须有清晰合理的架构,否则无法开发和维护. MVC(Model-View-Controller)是最常见的软件架构之一,业界有着广泛应用.它本身很容易理解,但是要讲清楚,它与衍生的 MVP 和 MVVM 架构的区别就不容易了. 昨天晚上,我读了<Scaling Isomorphic Javascript Code>,突然意识到,它们的区别非常简单.我用几段话,就可以说清. (题图:

Idea SpringMVC+Spring+MyBatis+Maven调整【转】

Idea SpringMVC+Spring+MyBatis+Maven整合 创建项目 File-New Project 选中左侧的Maven,选中右侧上方的Create from archetype,然后选中下方列表中的webapp,然后点击Next 在GroupId和ArtifactId中填入指定内容,点击Next 直接点Next 输入项目名称,Finish Idea会自动开始下载所依赖的包,等待其完成. 项目结构 项目刚建好的时候是没有这些文件的,所以自己手动创建缺少的文件夹(包) 创建完后