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 相关文章推荐
复杂检索数据并分页显示的处理方法
Oct 09 PHP
PHP读取文件并可支持远程文件的代码分享
Oct 03 PHP
PHP中批量生成静态html(命令行下运行PHP)
Apr 19 PHP
PHP中Memcache操作类及用法实例
Dec 12 PHP
php获取网页里所有图片并存入数组的方法
Apr 06 PHP
php图片水印添加、压缩、剪切的封装类实现
Apr 18 PHP
PHP与Ajax相结合实现登录验证小Demo
Mar 16 PHP
Symfony2实现在controller中获取url的方法
Mar 18 PHP
PHP实现路由映射到指定控制器
Aug 13 PHP
php判断str字符串是否是xml格式数据的方法示例
Jul 26 PHP
[原创]PHP实现SQL语句格式化功能的方法
Jul 28 PHP
PHP的mysqli_stat()函数讲解
Jan 23 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导出到Excel或CSV的详解(附utf8、gbk 编码转换)
2013/06/25 PHP
Js 随机数产生6位数字
2010/05/13 Javascript
使用Js让Html中特殊字符不被转义
2013/11/05 Javascript
javascript中的括号()用法小结
2014/04/14 Javascript
基于touch.js手势库+zepto.js插件开发图片查看器(滑动、缩放、双击缩放)
2016/11/17 Javascript
深入理解javascript函数参数与闭包
2016/12/12 Javascript
谈谈JS中常遇到的浏览器兼容问题和解决方法
2016/12/17 Javascript
详解JavaScript中js对象与JSON格式字符串的相互转换
2017/02/14 Javascript
浅谈Angular路由守卫
2017/08/26 Javascript
基于js 各种排序方法和sort方法的区别(详解)
2018/01/03 Javascript
JavaScript实现获取select下拉框中第一个值的方法
2018/02/06 Javascript
在vscode里使用.vue代码模板的方法
2018/04/28 Javascript
解析vue、angular深度作用选择器
2019/09/11 Javascript
Vue监听滚动实现锚点定位(双向)示例
2019/11/13 Javascript
[06:45]2018DOTA2亚洲邀请赛 4.5 SOLO赛 Sccc vs Maybe
2018/04/06 DOTA
Python生成验证码实例
2014/08/21 Python
Python如何为图片添加水印
2016/11/25 Python
Python使用一行代码获取上个月是几月
2018/08/30 Python
python看某个模块的版本方法
2018/10/16 Python
Python函数装饰器实现方法详解
2018/12/22 Python
如何在Python中实现goto语句的方法
2019/05/18 Python
Python 200行代码实现一个滑动验证码过程详解
2019/07/11 Python
python 实现图片上传接口开发 并生成可以访问的图片url
2019/12/18 Python
将matplotlib绘图嵌入pyqt的方法示例
2020/01/08 Python
Django使用Profile扩展User模块方式
2020/05/14 Python
深入理解css属性的选择对动画性能的影响
2016/04/20 HTML / CSS
html5使用canvas实现跟随光标跳动的火焰效果
2014/01/07 HTML / CSS
html5通过postMessage进行跨域通信的方法
2017/12/04 HTML / CSS
美国顶尖折扣时尚购物网:Bluefly
2016/08/28 全球购物
新浪网技术部笔试题
2016/08/26 面试题
Delphi笔试题
2016/11/14 面试题
初中校园广播稿
2014/02/02 职场文书
优质护理心得体会
2016/01/22 职场文书
2016年党员创先争优公开承诺书
2016/03/25 职场文书
CSS3 制作精美的定价表
2021/04/06 HTML / CSS
关于springboot 配置date字段返回时间戳的问题
2021/07/25 Java/Android