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 高手之路(一)
Oct 09 PHP
让你同时上传 1000 个文件 (二)
Oct 09 PHP
使用adodb lite解决问题
Dec 31 PHP
php $_SERVER当前完整url的写法
Nov 12 PHP
PHP学习笔记之一
Jan 17 PHP
PHP删除HTMl标签的实现代码
Jun 30 PHP
php遍历文件夹所有文件子文件夹函数代码
Nov 27 PHP
thinkphp路由规则使用示例详解和伪静态功能实现(apache重写)
Feb 24 PHP
用 Composer构建自己的 PHP 框架之基础准备
Oct 30 PHP
PHP使用pear自带的mail类库发邮件的方法
Jul 08 PHP
PHP使用curl模拟post上传及接收文件的方法
Mar 04 PHP
PHP执行系统命令函数实例讲解
Mar 03 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
杏林同学录(三)
2006/10/09 PHP
php include,include_once,require,require_once
2008/09/05 PHP
php版阿里云OSS图片上传类详解
2016/12/01 PHP
ThinkPHP 整合Bootstrap Ajax分页样式
2016/12/23 PHP
laravel多条件查询方法(and,or嵌套查询)
2019/10/09 PHP
JS window.opener返回父页面的应用
2009/10/24 Javascript
Microsoft Ajax Minifier 压缩javascript的方法
2010/03/05 Javascript
JavaScript判断访问的来源是手机还是电脑,用的哪种浏览器
2013/12/12 Javascript
jQuery插件实现大图全屏图片相册
2015/03/14 Javascript
js采用concat和sort将N个数组拼接起来的方法
2016/01/21 Javascript
JS调用打印机功能简单示例
2016/11/28 Javascript
Webpack打包慢问题的完美解决方法
2017/03/16 Javascript
AngularJS中的路由使用及实现代码
2017/10/09 Javascript
用Webpack构建Vue项目的实践
2017/11/07 Javascript
vue路由拦截及页面跳转的设置方法
2018/05/24 Javascript
React-router4路由监听的实现
2018/08/07 Javascript
JavaScript常见JSON操作实例分析
2018/08/08 Javascript
Tornado 多进程实现分析详解
2018/01/12 Python
django使用LDAP验证的方法示例
2018/12/10 Python
Python 通过调用接口获取公交信息的实例
2018/12/17 Python
python中使用while循环的实例
2019/08/05 Python
Django与pyecharts结合的实例代码
2020/05/13 Python
python实现b站直播自动发送弹幕功能
2021/02/20 Python
微软澳洲官方网站:Microsoft Australia
2017/01/10 全球购物
Converse匡威法国官网:美国著名帆布鞋品牌
2018/12/05 全球购物
北京-环亚运商测试题.net程序员初步测试题
2013/05/28 面试题
计算机网络工程专业职业生涯规划书
2014/03/10 职场文书
儿童生日会策划方案
2014/05/15 职场文书
个人四风对照检查材料
2014/09/26 职场文书
毕业生代领毕业材料的授权委托书
2014/09/29 职场文书
财务工作个人总结
2015/02/27 职场文书
怎样写工作总结啊!
2019/06/18 职场文书
2021-4-5课程——SQL Server查询【3】
2021/04/05 SQL Server
自从在 IDEA 中用了热部署神器 JRebel 之后,开发效率提升了 10(真棒)
2021/06/26 Java/Android
常用的文件对应的MIME类型汇总
2022/04/26 HTML / CSS
使用 Docker Compose 构建复杂的多容器App
2022/04/30 Servers