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 相关文章推荐
VML绘图板②脚本--VMLgraph.js、XMLtool.js
Oct 09 PHP
获取URL文件名后缀
Oct 24 PHP
php删除数组元素示例分享
Feb 17 PHP
php无限遍历文件夹示例分享
Mar 04 PHP
smarty实现多级分类的方法
Dec 05 PHP
PHP、Python和Javascript的装饰器模式对比
Feb 03 PHP
PHP实现获取中英文首字母
Jun 19 PHP
PHP模板引擎Smarty内建函数section,sectionelse用法详解
Apr 11 PHP
PHP简单实现文本计数器的方法
Apr 28 PHP
php使用ftp实现文件上传与下载功能
Jul 21 PHP
PHP多维数组排序array详解
Nov 21 PHP
php实现往pdf中加数字签名操作示例【附源码下载】
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
phpBB BBcode处理的漏洞
2006/10/09 PHP
PHP fopen()和 file_get_contents()应用与差异介绍
2014/03/19 PHP
PHP函数eval()介绍和使用示例
2014/08/20 PHP
SSO单点登录的PHP实现方法(Laravel框架)
2016/03/23 PHP
php+redis消息队列实现抢购功能
2018/02/08 PHP
Javascript学习笔记6 prototype的提出
2010/01/11 Javascript
JavaScript高级程序设计 扩展--关于动态原型
2010/11/09 Javascript
css结合js制作下拉菜单示例代码
2014/02/27 Javascript
jQuery实现冻结表格行和列
2015/04/29 Javascript
jquery实现的Accordion折叠面板效果代码
2015/09/02 Javascript
AngularJS初始化静态模板详解
2016/01/14 Javascript
slideToggle+slideup实现手机端折叠菜单效果
2017/05/25 Javascript
elemetUi 组件--el-upload实现上传Excel文件的实例
2017/10/27 Javascript
Vue下滚动到页面底部无限加载数据的示例代码
2018/04/22 Javascript
Vue中的情侣属性$dispatch和$broadcast详解
2019/03/07 Javascript
vue-cli3跨域配置的简单方法
2019/09/06 Javascript
Vue.js页面中有多个input搜索框如何实现防抖操作
2019/11/04 Javascript
uni-app自定义导航栏按钮|uniapp仿微信顶部导航条功能
2019/11/12 Javascript
python图像处理之镜像实现方法
2015/05/30 Python
Python使用Matplotlib实现雨点图动画效果的方法
2017/12/23 Python
Python 将Matrix、Dict保存到文件的方法
2018/10/30 Python
face++与python实现人脸识别签到(考勤)功能
2019/08/28 Python
解决Python二维数组赋值问题
2019/11/28 Python
pycharm通过ssh连接远程服务器教程
2020/02/12 Python
关于python scrapy中添加cookie踩坑记录
2020/11/17 Python
PyCharm2020.3.2安装超详细教程
2021/02/08 Python
韩国家庭购物网上商店:Nsmall
2017/05/07 全球购物
LN-CC中国:高端男装和女装的奢侈时尚目的地
2019/09/14 全球购物
分解成质因数(如435234=251*17*17*3*2,据说是华为笔试题)
2014/07/16 面试题
编写用C语言实现的求n阶阶乘问题的递归算法
2014/10/21 面试题
人力资源主管的岗位职责
2014/03/15 职场文书
计算机专业自荐信范文
2015/03/26 职场文书
公司人事任命通知
2015/04/20 职场文书
2016高一新生军训心得体会
2016/01/11 职场文书
「魔法少女伊莉雅」美游粘土人开订
2022/03/21 日漫
Python的代理类实现,控制访问和修改属性的权限你都了解吗
2022/03/21 Python