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 相关文章推荐
vBulletin HACK----显示话题大小和打开新窗口于论坛索引页
Oct 09 PHP
php 按指定元素值去除数组元素的实现方法
Nov 04 PHP
在wamp集成环境下升级php版本(实现方法)
Jul 01 PHP
有关于PHP中常见数据类型的汇总分享
Jan 06 PHP
PHP浮点比较大小的方法
Feb 14 PHP
Zend Framework连接Mysql数据库实例分析
Mar 19 PHP
php提交表单时保留多个空格及换行的文本样式的方法
Jun 20 PHP
Yii2框架视图(View)操作及Layout的使用方法分析
May 27 PHP
PHP7实现和CryptoJS的AES加密方式互通示例【AES-128-ECB加密】
Jun 08 PHP
PHP抽象类和接口用法实例详解
Jul 20 PHP
php使用pecl方式安装扩展操作示例
Aug 12 PHP
PHP文件操作简单介绍及函数汇总
Dec 11 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/11/22 PHP
PHP如何解决网站大流量与高并发的问题
2011/06/25 PHP
php图片上传存储源码并且可以预览
2011/08/26 PHP
PHP中应该避免使用同名变量(拆分临时变量)
2015/04/03 PHP
typecho插件编写教程(二):写一个新插件
2015/05/28 PHP
php表单提交实例讲解
2015/11/12 PHP
PHP实现原生态图片上传封装类方法
2016/11/08 PHP
PHP正则匹配日期和时间(时间戳转换)的实例代码
2016/12/14 PHP
发布BlueShow v1.0 图片浏览器(类似lightbox)blueshow.js 打包下载
2007/07/21 Javascript
利用js对象弹出一个层
2008/03/26 Javascript
javascript函数声明和函数表达式区别分析
2014/12/02 Javascript
浅析JS异步加载进度条
2016/05/05 Javascript
浅谈jquery的map()和each()方法
2016/06/12 Javascript
轻松实现js弹框显示选项
2016/09/13 Javascript
JS实现改变HTML上文字颜色和内容的方法
2016/12/30 Javascript
JS实现下拉菜单列表与登录注册弹窗效果
2017/08/10 Javascript
实现图片首尾平滑轮播(JS原生方法—节流)
2017/10/17 Javascript
React Native中NavigatorIOS组件的简单使用详解
2018/01/27 Javascript
利用原生的JavaScript实现简单拼图游戏
2018/11/18 Javascript
jQuery对底部导航进行跳转并高亮显示的实例代码
2019/04/23 jQuery
vue2.0+SVG实现音乐播放圆形进度条组件
2019/09/21 Javascript
vue 解决addRoutes多次添加路由重复的操作
2020/08/04 Javascript
[01:10]3.19DOTA2发布会 三代刀塔人第一代
2014/03/25 DOTA
使用Python压缩和解压缩zip文件的教程
2015/05/06 Python
python监控进程脚本
2018/04/12 Python
如何在Django中添加没有微秒的 DateTimeField 属性详解
2019/01/30 Python
给你一面国旗 教你用python画中国国旗
2019/09/24 Python
python文件操作的简单方法总结
2019/11/07 Python
python实现在线翻译功能
2020/03/03 Python
解决django中form表单设置action后无法回到原页面的问题
2020/03/13 Python
Python+Django+MySQL实现基于Web版的增删改查的示例代码
2020/05/13 Python
岗位聘任书范文
2014/03/29 职场文书
校庆标语集锦
2014/06/25 职场文书
公务员个人总结
2015/02/12 职场文书
质量保证书格式模板
2015/02/27 职场文书
Python机器学习之PCA降维算法详解
2021/05/19 Python