zend framework layout(页面布局)切换器
来源:互联网 发布:淘宝 商城 分销 编辑:程序博客网 时间:2024/06/10 00:53
zend framework 框架的 MVC 组件很强大,很好用。Zend_Layout 组件提供对页面布局的支持,往往一个网站都有着统一的页面布局,例如头部(包含LOGO,导航菜单,用户状态信息等),主部(页面的主要内容),尾部(一般包括版权信息)。但也有可能因为不同的功能模块,页面的结构布局会不同,例如前台的布局与后台管理的页面布局可能是不一样的,或者前台的新闻页面布局与会员中心的页面布局是不一样的。
所以为了提供方便的对不同的功能模块提供不同的页面布局控制,我写了一个layout切换插件,可以为不同的模块(module)、控制器(controller)、活动(action)配置不同的布局。
使用说明:
使用这个布局切换器,只需要配置布局影射即可,配置的参数结构是一个数组结构,例如要为admin模块设定为使用布局 adminLayout,则配置如下:
array(
'admin' => 'adminLayout'
)
也可以这样写:
array(
'admin' => array('layout' => 'adminLayout')
)
以上两个配置是一样的。如果要为admin模块的user控制器(controller)设定使用另一个布局 userLayout,则可以这样配置:
array(
'admin' => array(
'layout' => 'adminLayout',// 当没有匹配到控制器时,使用该布局
'controllers' => array(
'user' => 'userLayout'
)
)
)
以上这个配置,当进入到模块admin的user控制器时,则使用userLayout布局,否则如果进入模块admin的其它控制器,则使用 adminLayout布局。以上的配置也可写成如下这样:
array(
'admin' => array(
'layout' => 'adminLayout',// 当没有匹配到控制器时,使用该布局
'controllers' => array(
'user' => array('layout' => 'userLayout')
)
)
)
配置匹配动作(action)也是一样的道理,如让admin模块的user控制器的profile动作使用 profileLayout 布局,则配置如下:
array(
'admin' => array(
'controllers' => array(
'actions' => array(
'profile' => 'profileLayout'
)
)
)
)
使用示例:
$options = array(
'admin' => 'adminLayout' // 为模块 admin 配置布局为 adminLayout
'user' => array(
'controllers' => array(
'profile' => 'profileLayout',// 为模块user的控制器profile配置布局为profileLayout
'account' => array('layout' => 'accountLayout') // 为模块user的控制器account配置布局为 accountLayout
)
),
'shop' => array(
'controllers' => array(
'product' => array(
'actions' => array(
'detail' => 'detailLayout',// 为模块shop的控制器product的detail动作配置布局为 detailLayout
'list' => 'listLayout'// action的布局指定只能是字符串,不能用 array('layout'=>'layoutName')的形式
)
)
)
)
);
Zend_Front::getInstance()->registerPlugin(new Jans_Controller_Plugin_LayoutSwitcher($options));
布局切换器插件的代码如下:
- zend framework layout(页面布局)切换器
- Zend Framework教程-Zend_Layout-布局\助手Layout
- Zend FrameWork 1.6的布局模板(layout)改变
- zend framework 2 更换布局模板(layout)和内容模板
- Zend Framework之Layout
- Zend Framework 中的布局使用
- Zend Framework 中的布局使用
- zend framework多模块多Layout配置
- zend framework多模块多Layout配置
- 页面布局(Page Layout )
- 页面布局:Layout
- zend framework quickstart zend框架入门之创建布局(快速开始:二)
- Zend Framework布局和视图 Layouts views
- Zend Framework布局和视图 Layouts views
- 【小结】Zend Framework Quick Start 之Create A Layout
- Zend Framework 2 中,定制error 的layout
- Change Layout in Controllers and Actions in Zend Framework 2
- 前端框架 EasyUI (2)页面布局 Layout
- Joomla-mod-JEZ_Arguo
- (译)《科学美国人》:多样的人际网络导致繁荣的本地经济
- Linux关机命令
- C#3.0 语言规范
- 在centos5.11上安装oracle11g
- zend framework layout(页面布局)切换器
- window.attachEvent 实现 window.load多个函数
- 图片爆炸效果
- slideup()和slideDown()方法的使用
- 我认为一个优秀的 ActionScript程序员应该具备的特殊技能
- FreeBSD下nginx并支持php配置详解
- firefox不支持IE的window.attachEvent的实现方法
- 单机数据库性能测试总结
- PHP字符串中的大括号