magento 开发--另一种方式用xml来布局

是否厌倦了用xml文件来做Magento的页面布局,是的话来试试下面这种方式,把布局代码写到controller 里面

 

public function mycoolAction()
{
/* ... Some code ...*/
$update = $this->getLayout()->getUpdate();
/* ... Some code ...*/
$this->addActionLayoutHandles();
/* ... Some code ...*/
$this->loadLayoutUpdates();
/* ... Some code ...*/
/* My stuff, add pure XML like you do from XML layout files <img src="http://inchoo.net/wp-includes/images/smilies/icon_smile.gif" mce_src="http://inchoo.net/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley"> */
$update->addUpdate('
<reference name="head">
<action method="addJs"><mce:script type="text/javascript"><!--
varien/product.js
// --></mce:script></action>
<action method="addItem"><type>js_css</type><name>calendar/calendar-win2k-1.css</name><params /><!--<if/><condition>can_load_calendar_js</condition>--></action>
<action method="addItem"><type>js</type><name>calendar/calendar.js</name><!--<params/><if /><condition>can_load_calendar_js</condition>--></action>
<action method="addItem"><type>js</type><name>calendar/calendar-setup.js</name><!--<params/><if /><condition>can_load_calendar_js</condition>--></action>
<action method="addItem"><type>skin_js</type><name>js/bundle.js</name></action>
</reference>
');
/* ... Some code ...*/
$this->generateLayoutXml()->generateLayoutBlocks();
/* ... Some code ...*/
$this->renderLayout();
}

 

这样你也许就可以少新建一些xml文件

当然,这里还是推荐把布局写在xml文件里,上面这种方式只是告诉你Magento还有另一种方式来实现相同的功能

时间: 2024-08-02 14:09:55

magento 开发--另一种方式用xml来布局的相关文章

【Xamarin开发 Android 系列 2】VS2015跨平台开发的几种方式

原文:[Xamarin开发 Android 系列 2]VS2015跨平台开发的几种方式   在微软Build大会上,微软宣布在VS2015中支持三种方式进行跨平台的开发. 1. Xamarin 2. Cordova 3. C++ Xamarin  官网 :http://xamarin.com/ Xamarin 是由早期的Mono项目演变而来,原本是在Linux上执行C#程序的一个开放原始码项目.后来陆续发表支持iOS的Mono Touch framework以及Mono For Android

android开发基础教程—三种方式实现xml文件解析_Android

1.sax方式 复制代码 代码如下: /** * 使用sax解析 */ public class SaxParse{ /** * sax解析器 */ private SAXParser parser; public SaxParse(){ try { SAXParserFactory f = SAXParserFactory.newInstance(); parser = f.newSAXParser(); } catch (ParserConfigurationException e) { e

android开发基础教程—三种方式实现xml文件解析

1.sax方式 复制代码 代码如下: /** * 使用sax解析 */ public class SaxParse{ /** * sax解析器 */ private SAXParser parser; public SaxParse(){ try { SAXParserFactory f = SAXParserFactory.newInstance(); parser = f.newSAXParser(); } catch (ParserConfigurationException e) { e

图解Sbo二次开发的几种方式

朋友在一个项目运作中,希望我帮助他使用图文的方式深入浅出地向客户介绍Sbo的构架和几种二次开放式,考虑了一下,形成了这份文档. 一.Sbo SDK介绍 Sbo SDK允许合作伙伴或终端用户进行业务功能性扩展,建立适合企业http://www.aliyun.com/zixun/aggregation/13476.html">业务流程的指定业务功能,开发Sbo本身没有提供的业务模块,并提供同第三方工具或者软件的集成界面和接口. 二.Sbo SDK 组成 2.1.Sbo 数据处理开发接口(DI

C#中两种方式将Xml匹配为对象集合

一.前言 上一篇随笔主要将实体转换成相应的Xml或者Xml对象,未考虑到属性的Attribute特性,以后有时间再整理一下.本文中的Xml匹配涉及到类的特性和属性的特性,并且对该类的匹配进行了相应的优化,尽量将反射引起的性能问题降低最低(其实,对于对象数量不是很多的Xml匹配,性能是可以忽略不计的). 二.类图设计 主要思路为:通过反射将与类名的节点匹配,然后匹配属性(属性特性名称或者属性名称)值,设计图如下所示: 类图中各个类的作用如下: PropertyAttribute.ClassAttr

通过AJAX的JS、JQuery两种方式解析XML示例介绍_javascript技巧

JQuery版 复制代码 代码如下: $.ajax({ url : "order/order_orderDetail.do?params.type=merge", type : "post", data : params, success : function(xml) { hide(); if(xml == ""){ Dialog.popTip("找不到需要合并的订单", 2); }else{ var myTable=doc

Android网络之数据解析----SAX方式解析XML数据

[正文] 一.XML和Json数据的引入: 通常情况下,每个需要访问网络的应用程序都会有一个自己的服务器,我们可以向服务器提交数据,也可以从服务器获取数据.不过这个时候就有一个问题,这些数据是以什么格式在网络上传输的呢?一般我们都会在网络上传输一些格式化后的数据,这种数据会有一定的结构规格和语言,当另一方受到数据消息后就可以按照相同的结构规格进行解析,从而取出它想要的那部分内容. 在网络上传输数据最常用的格式:XML和Json.本文就来学习一下XML数据的解析,Json格式的数据解析将在下一篇文

熟知蜘蛛两种爬取方式来调整网站布局

近段时间百度对反垃圾页面的执行力度在日趋增强这让很多站点排名都受到大幅波动,当然笔者小站也不例外,但小鱼始终明白一点搜索引擎不断调整算法的本身是为了符合用户体验这也说明一点只要我们站在用户的角度去运营自己的小站那么网站的排名就自然不会差.今天笔者针对站内收录这块给大家分享下熟知蜘蛛爬取的两种方式来改变网站结构的布局. 网站收录对于很多朋友来说一直是一个追问的话题,除了我们通常所说的sitemap制作外还有一点不可小却那就是网站的层次布局,为什么这样说呢?下面笔者就蜘蛛的两种爬取方式来为你一一说道

动态产生XML文档的几种方式

xml|动态 当今世界,技术发展迅猛,不论是什么行业,大多数关键数据都是放置于数据库中进行管理的,一来目前数据库技术已经相当成熟,二来其管理功能非常强大.以往的数据库应用,其数据底层结构一般来说都是相对固定,也就是说,开发出来的应用程序是针对具体的数据结构,其应用范畴受到一定限制,开放性较差. XML作为一种可扩展性标记语言,其自描述性使其非常适用于不同应用间的数据交换,而且这种交换是不以预先规定一组数据结构定义为前提,因此具备很强的开放性,具有广阔的应用前景.为了使基于XML的业务数据交换成为