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
1.PHP简介
Oct 09 PHP
一次编写,随处运行
Oct 09 PHP
我的论坛源代码(九)
Oct 09 PHP
php zend 相对路径问题
Jan 12 PHP
php 采集书并合成txt格式的实现代码
Mar 01 PHP
对squid中refresh_pattern的一些理解和建议
Apr 17 PHP
PHP超级全局变量数组小结
Oct 04 PHP
php 读取文件头判断文件类型的实现代码
Aug 05 PHP
ThinkPHP自动转义存储富文本编辑器内容导致读取出错的解决方法
Aug 08 PHP
jquery+thinkphp实现跨域抓取数据的方法
Oct 15 PHP
php实现连接access数据库并转txt写入的方法
Feb 08 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
10条PHP编程习惯助你找工作
2008/09/29 PHP
PHP运行SVN命令显示某用户的文件更新记录的代码
2014/01/03 PHP
php+ajax实现异步上传文件或图片功能
2017/07/18 PHP
win7 wamp 64位 php环境开启curl服务遇到的问题及解决方法
2018/09/16 PHP
PHP设计模式之工厂模式(Factory Pattern)的讲解
2019/03/21 PHP
JS处理VBArray的函数使用说明
2008/05/11 Javascript
利用JQuery为搜索栏增加tag提示
2009/06/22 Javascript
再谈javascript 动态添加样式规则 W3C校检
2009/12/25 Javascript
url参数中有+、空格、=、%、&amp;、#等特殊符号的问题解决
2013/05/15 Javascript
js左侧三级菜单导航实例代码
2013/09/13 Javascript
Javascript动态引用CSS文件的2种方法介绍
2014/06/06 Javascript
Node.js中require的工作原理浅析
2014/06/24 Javascript
js随机生成网页背景颜色的方法
2015/02/26 Javascript
JavaScript数据绑定实现一个简单的 MVVM 库
2016/04/08 Javascript
Javascript HTML5 Canvas实现的一个画板
2020/04/12 Javascript
Javascript中apply、call、bind的巧妙使用
2016/08/18 Javascript
Vue.js中组件中的slot实例详解
2017/07/17 Javascript
JavaScript this绑定过程深入详解
2018/12/07 Javascript
vue2.0 如何在hash模式下实现微信分享
2019/01/22 Javascript
layui 弹出删除确认界面的实例
2019/09/06 Javascript
如何基于javascript实现贪吃蛇游戏
2020/02/09 Javascript
python3抓取中文网页的方法
2015/07/28 Python
Python利用ElementTree模块处理XML的方法详解
2017/08/31 Python
春节到了 教你使用python来抢票回家
2020/01/06 Python
tensorflow实现残差网络方式(mnist数据集)
2020/05/26 Python
详解numpy1.19.4与python3.9版本冲突解决
2020/12/15 Python
Python爬虫自动化爬取b站实时弹幕实例方法
2021/01/26 Python
ALEX AND ANI:手镯,项链,耳环和更多
2017/04/20 全球购物
Carolina Lemke Berlin澳大利亚官网:时尚太阳镜品牌
2019/09/17 全球购物
海蓝之谜英国官网:La Mer英国
2020/01/15 全球购物
汽车专业人才自我鉴定范文
2013/12/29 职场文书
公司应聘求职信
2014/06/21 职场文书
公安派出所所长四风问题个人对照检查材料
2014/10/04 职场文书
2014年销售工作总结
2014/12/01 职场文书
治理商业贿赂工作总结
2015/08/10 职场文书
个人销售励志奋斗口号
2019/12/05 职场文书