Zend Framework基本页面布局分析


Posted in PHP onMarch 19, 2016

本文实例讲述了Zend Framework基本页面布局方法。分享给大家供大家参考,具体如下:

Zend Framework 的页面布局模块——Zend_Layout——既可以跟 MVC 一起使用,也可以单独使用。本文只讨论与 MVC 一起使用的情况。

1、布局脚本

在 application/views 下创建一个 layouts 的文件夹。主布局脚本 layout.phtml 代码如下:

<?php echo $this->doctype('XHTML1_STRICT') ?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php echo $this->headTitle() ?>
<?php
$this->headLink()->appendStylesheet("/styles/main.css");
// add more links ...
?>
<?php echo $this->headLink() ?>
</head>
<body>
<div id="header">
<?php echo $this->partial('header.phtml') ?>
</div>
<table>
<tr>
<td valign=top>
<div id="leftcolumn">
<?php echo $this->partial('leftcolumn.phtml') ?>
</div>
</td>
<td valign=top>
<div id="content">
<?php echo $this->layout()->content ?>
</div>
</td>
</tr>
</table>
<div id="footer">
<?php echo $this->partial('footer.phtml') ?>
</div>
</body>
</html>

除了 layout.phtml 之外,还需要编写 header.phtml,leftcolumn.phtml,footer.phtml,以及 main.css 等文件。
Zend Framework 的文档中用一个视图表示了页面布局的应用。

Zend Framework基本页面布局分析

2、设置页面布局

在 MVC 下设置页面布局非常简单,编辑 html/index.php,加入下面两行代码:

/** Setup layout */
require_once 'Zend/Layout.php';
Zend_Layout::startMvc($rootPath . '/application/views/layouts');

注意:在启动页面布局后,要调整已有的各个页面,把不需要的 html 元素,如<header> <title> <body> 等去掉。另外,可以通过 $this->headTitle() 来设置页面的题头。

改变页面的布局也很简单,只需在控制器中用下面的代码即可:

$this->_helper->layout->setLayout('new_layout');

如果一个控制器所有动作都使用同一个页面布局,可以通过控制器的初始化函数来设置:

public function init() {
parent::init();
$this->_helper->layout->setLayout('new_layout'); 
}

希望本文所述对大家基于Zend Framework框架的PHP程序设计有所帮助。

PHP 相关文章推荐
PHP函数microtime()用法与说明
Dec 04 PHP
Yii配置文件用法详解
Dec 04 PHP
php在linux下检测mysql同步状态的方法
Jan 15 PHP
php构造函数的继承方法
Feb 09 PHP
php类的扩展和继承用法实例
Jun 20 PHP
详解PHP中的PDO类
Jul 06 PHP
WordPress后台中实现图片上传功能的实例讲解
Jan 11 PHP
PHP实现上传多图即时显示与即时删除的方法
May 09 PHP
PHP基于堆栈实现的高级计算器功能示例
Sep 15 PHP
Laravel框架处理用户的请求操作详解
Dec 20 PHP
解决php用mysql方式连接数据库出现Deprecated报错问题
Dec 25 PHP
基于PHP的微信公众号的开发流程详解
Aug 07 PHP
Zend Framework连接Mysql数据库实例分析
Mar 19 #PHP
Zend Framework+smarty用法实例详解
Mar 19 #PHP
ThinkPHP使用Smarty第三方插件方法小结
Mar 19 #PHP
smarty学习笔记之常见代码段用法总结
Mar 19 #PHP
FleaPHP框架数据库查询条件($conditions)写法总结
Mar 19 #PHP
PHP指定截取字符串中的中英文或数字字符的实例分享
Mar 18 #PHP
详解PHP的Yii框架中组件行为的属性注入和方法注入
Mar 18 #PHP
You might like
php面向对象全攻略 (一) 面向对象基础知识
2009/09/30 PHP
解析如何修改phpmyadmin中的默认登陆超时时间
2013/06/25 PHP
php设计模式之简单工厂模式详解
2014/09/04 PHP
laravel 4安装及入门图文教程
2014/10/29 PHP
php通过修改header强制图片下载的方法
2015/03/24 PHP
jquery图片放大镜功能的实例代码
2013/03/26 Javascript
推荐10个2014年最佳的jQuery视频插件
2014/11/12 Javascript
JavaScript实现弹出模态窗体并接受传值的方法
2016/02/12 Javascript
jQuery代码实现对话框右上角菜单带关闭×
2016/05/03 Javascript
jQuery实现鼠标经过购物车出现下拉框代码(推荐)
2016/07/21 Javascript
JavaScript面向对象程序设计创建对象的方法分析
2018/08/13 Javascript
jQuery动态生成的元素绑定事件操作实例分析
2019/05/04 jQuery
深入理解Python3 内置函数大全
2017/11/23 Python
DataFrame 将某列数据转为数组的方法
2018/04/13 Python
Python调用adb命令实现对多台设备同时进行reboot的方法
2018/10/15 Python
解决pycharm每次新建项目都要重新安装一些第三方库的问题
2019/01/17 Python
Python提取支付宝和微信支付二维码的示例代码
2019/02/15 Python
基于django ManyToMany 使用的注意事项详解
2019/08/09 Python
Python操作excel的方法总结(xlrd、xlwt、openpyxl)
2019/09/02 Python
Python中的上下文管理器相关知识详解
2019/09/19 Python
Python实现一个简单的毕业生信息管理系统的示例代码
2020/06/08 Python
Pytest测试框架基本使用方法详解
2020/11/25 Python
Pandas数据分析的一些常用小技巧
2021/02/07 Python
如何用Python和JS实现的Web SSH工具
2021/02/23 Python
HTML5不支持frameset的两种解决方法
2016/11/14 HTML / CSS
莫斯科高科技在线商店:KremlinStore
2019/03/13 全球购物
什么是索引指示器
2012/08/20 面试题
EJB3.1都有哪些改进
2012/11/17 面试题
工程管理专业个人求职信范文
2013/12/07 职场文书
小学生表扬稿范文
2015/05/05 职场文书
幼儿园门卫安全责任书
2015/05/08 职场文书
清明节主题班会
2015/08/14 职场文书
请病假条范文
2015/08/17 职场文书
光之国的四大叛徒:第一贝利亚导致宇宙毁灭,赛文奥特曼在榜
2022/03/18 日漫
Python进程池与进程锁之语法学习
2022/04/11 Python
Python保存并浏览用户的历史记录
2022/04/29 Python