侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

Zend Framework基本页面布局分析

框架(架构)  /  管理员 发布于 7年前   162

本文实例讲述了Zend Framework基本页面布局方法。分享给大家供大家参考,具体如下:

Zend Framework 的页面布局模块――Zend_Layout――既可以跟 MVC 一起使用,也可以单独使用。本文只讨论与 MVC 一起使用的情况。

1、布局脚本

在 application/views 下创建一个 layouts 的文件夹。主布局脚本 layout.phtml 代码如下:

doctype('XHTML1_STRICT') ?>headTitle() ?>headLink()->appendStylesheet("/styles/main.css");// add more links ...?>headLink() ?>
partial('header.phtml') ?>
partial('leftcolumn.phtml') ?>
layout()->content ?>
partial('footer.phtml') ?>

除了 layout.phtml 之外,还需要编写 header.phtml,leftcolumn.phtml,footer.phtml,以及 main.css 等文件。
Zend Framework 的文档中用一个视图表示了页面布局的应用。

2、设置页面布局

在 MVC 下设置页面布局非常简单,编辑 html/index.php,加入下面两行代码:

/** Setup layout */require_once 'Zend/Layout.php';Zend_Layout::startMvc($rootPath . '/application/views/layouts');

注意:在启动页面布局后,要调整已有的各个页面,把不需要的 html 元素,如

<body> 等去掉。另外,可以通过 $this->headTitle() 来设置页面的题头。</span></p><p>改变页面的布局也很简单,只需在控制器中用下面的代码即可:</p><pre>$this->_helper->layout->setLayout('new_layout');</pre><p>如果一个控制器所有动作都使用同一个页面布局,可以通过控制器的初始化函数来设置:</p><pre>public function init() {parent::init();$this->_helper->layout->setLayout('new_layout'); }</pre><p>更多关于zend相关内容感兴趣的读者可查看本站专题:《Zend FrameWork框架入门教程》、《php优秀开发框架总结》、《Yii框架入门及常用技巧总结》、《ThinkPHP入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》</p><p>希望本文所述对大家基于Zend Framework框架的PHP程序设计有所帮助。</p><h4>您可能感兴趣的文章:</h4><ul><li>zen_cart实现支付前生成订单的方法</li><li>python实现zencart产品数据导入到magento(python导入数据)</li><li>zen cart新进商品的随机排序修改方法</li><li>php 修改zen-cart下单和付款流程以防止漏单</li><li>Zend Framework入门知识点小结</li><li>Zend Framework缓存Cache用法简单实例</li><li>Zend Framework+smarty用法实例详解</li><li>Zend Framework教程之Bootstrap类用法概述</li><li>zen cart实现订单中增加paypal中预留电话的方法</li></ul><span id="art_bot"></span></p></dl> <style type="text/css">.social-share p{font-size:8px;}</style> <div class="social-share"></div> </div> </div> </div> <div class="row clearfix"> <div class="col-md-12 column"> <li class="list-group-item" style="background: #f5f5f5;border-radius: 4px;margin-bottom: 10px;"> <br>上一条:<br> <a href="/demo333/66880.html" class="list-group-item-heading">Zend Framework缓存Cache用法简单实例</a> <br>下一条:<br> <a href="/demo333/66882.html" class="list-group-item-heading">Zend Framework+smarty用法实例详解</a> </li> </div> </div> <div class="row clearfix"> <div class="col-md-12 column"> <form class="form-horizontal" role="form" style="background: #f5f5f5;border: 1px solid #ddd;padding:10px 10px 0px;border-radius: 4px;margin-bottom: 10px;" id="myForm" action="/index/art/comment.html" method="post"> <p><span style="font-size: 12px;">昵称:</span><input type="text" name="nick" style="width: 100px;border-radius: 8px;"><span id="check_nick" style="font-size: 8px;color: red;display: none;padding-left: 45px;padding-top: 8px;"></span></p> <p><span style="font-size: 12px;">邮箱:</span><input type="text" name="email" style="width: 160px;border-radius: 8px;"></p> <textarea name="comment" id="comment" style="width:80%; height:100%"></textarea> <input type="hidden" name="art_id" value="66881"> <input type="submit" value="发表评论" style="font-size: 12px;position: relative;left: 71%;"> </form> </div> </div> <div class="row clearfix"><div class="col-md-12 column"><div class="form-group" style="margin-bottom: 5px;padding: 0 5px;"><span>0条评论</span> <span style="font-size:8px;color:red">(评论内容有缓存机制,请悉知!)</span><div style="float: right;font-size: 12px;"><a href="" style="padding: 0 5px;">最新</a><a href="">最热</a></div></div></div></div> <div class="row clearfix"> <div class="col-md-12 column"> </div> </div> </div> <div class="col-md-4 column"> <div class="row clearfix"> <div class="col-md-12 column"> <!-- 正方ad --> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-4802265324400044" data-ad-slot="1693614294" data-ad-format="auto" data-full-width-responsive="true"></ins> <script>(adsbygoogle = window.adsbygoogle || []).push({});</script> </div> </div> <!-- 分类 --> <div class="row clearfix"> <div class="col-md-12 column"> <ul style="background: #f5f5f5;border: 1px solid #ddd;border-radius: 4px;list-style: none;"><li style="font-size: 16px;font-weight: bold;padding: 10px 0 10px;">分类目录</li> <li class="btn"><a href="/demo777/cat_id/1.html">人生(杂谈)</a></li> <li class="btn"><a href="/demo777/cat_id/2.html">技术</a></li> <li class="btn"><a href="/demo777/cat_id/18.html">linux</a></li> <li class="btn"><a href="/demo777/cat_id/19.html">Java</a></li> <li class="btn"><a href="/demo777/cat_id/20.html">php</a></li> <li class="btn"><a href="/demo777/cat_id/30.html">框架(架构)</a></li> <li class="btn"><a href="/demo777/cat_id/31.html">前端</a></li> <li class="btn"><a href="/demo777/cat_id/33.html">ThinkPHP</a></li> <li class="btn"><a href="/demo777/cat_id/34.html">数据库</a></li> <li class="btn"><a href="/demo777/cat_id/35.html">微信(小程序)</a></li> <li class="btn"><a href="/demo777/cat_id/36.html">Laravel</a></li> <li class="btn"><a href="/demo777/cat_id/37.html">Redis</a></li> <li class="btn"><a href="/demo777/cat_id/38.html">Docker</a></li> <li class="btn"><a href="/demo777/cat_id/39.html">Go</a></li> <li class="btn"><a href="/demo777/cat_id/40.html">swoole</a></li> <li class="btn"><a href="/demo777/cat_id/41.html">Windows</a></li> <li class="btn"><a href="/demo777/cat_id/42.html">Python</a></li> <li class="btn"><a href="/demo777/cat_id/43.html">苹果(mac/ios)</a></li> </ul> </div> </div> <div class="row clearfix"> <div class="col-md-12 column"> <ul style="background: #f5f5f5;border: 1px solid #ddd;border-radius: 4px;list-style: none;"><li style="font-size: 16px;font-weight: bold;padding: 10px 0 10px;">相关文章</li> <li><a href="/demo333/96667.html">Filament v3.1版本发布</a>(0个评论)</li> <li><a href="/demo333/96644.html">docker + gitea搭建一个git服务器流程步骤</a>(0个评论)</li> <li><a href="/demo333/96580.html">websocket的三种架构方式使用优缺点浅析</a>(0个评论)</li> <li><a href="/demo333/96570.html">ubuntu20.4系统中宿主机安装nginx服务,docker容器中安装php8.2实现运行laravel10框架网站</a>(0个评论)</li> <li><a href="/demo333/96470.html">phpstudy_pro(小皮面板)中安装最新php8.2.9版本流程步骤</a>(0个评论)</li> </ul> </div> </div> <div class="row clearfix"> <div class="col-md-12 column"> <ul style="background: #f5f5f5;border: 1px solid #ddd;border-radius: 4px;list-style: none;"><li style="font-size: 16px;font-weight: bold;padding: 10px 0 10px;">近期文章</li> <li><a href="/demo333/96849.html">在go中实现一个常用的先进先出的缓存淘汰算法示例代码</a>(0个评论)</li> <li><a href="/demo333/96848.html">在go+gin中使用"github.com/skip2/go-qrcode"实现url转二维码功能</a>(0个评论)</li> <li><a href="/demo333/96847.html">在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能</a>(1个评论)</li> <li><a href="/demo333/96846.html">在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能</a>(0个评论)</li> <li><a href="/demo333/96845.html">gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案</a>(0个评论)</li> <li><a href="/demo333/96844.html">欧盟关于强迫劳动的规定的官方举报渠道及官方举报网站</a>(0个评论)</li> <li><a href="/demo333/96843.html">在go语言中使用github.com/signintech/gopdf实现生成pdf文件功能</a>(0个评论)</li> <li><a href="/demo333/96842.html">Laravel从Accel获得5700万美元A轮融资</a>(0个评论)</li> <li><a href="/demo333/96841.html">在go + gin中gorm实现指定搜索/区间搜索分页列表功能接口实例</a>(0个评论)</li> <li><a href="/demo333/96840.html">在go语言中实现IP/CIDR的ip和netmask互转及IP段形式互转及ip是否存在IP/CIDR</a>(0个评论)</li> </ul> </div> </div> <div class="row clearfix"> <div class="col-md-12 column"> <ul style="background: #f5f5f5;border: 1px solid #ddd;border-radius: 4px;list-style: none;"><li style="font-size: 16px;font-weight: bold;padding: 10px 0 10px;">近期评论</li> <li> <p style="font-size: 10px;margin-bottom: 0px;">122 在</p><a href="/demo333/96820.html">学历:一种延缓就业设计,生活需求下的权衡之选</a><span style="font-size: 10px;">中评论</span> 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人.. </li> <li> <p style="font-size: 10px;margin-bottom: 0px;">123 在</p><a href="/demo333/96603.html">Clash for Windows作者删库跑路了,github已404</a><span style="font-size: 10px;">中评论</span> 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分.. </li> <li> <p style="font-size: 10px;margin-bottom: 0px;">原梓番博客 在</p><a href="/demo333/96695.html">在Laravel框架中使用模型Model分表最简单的方法</a><span style="font-size: 10px;">中评论</span> 好久好久都没看友情链接申请了,今天刚看,已经添加。.. </li> <li> <p style="font-size: 10px;margin-bottom: 0px;">博主 在</p><a href="/demo333/435.html">佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法</a><span style="font-size: 10px;">中评论</span> @1111老铁这个不行了,可以看看近期评论的其他文章.. </li> <li> <p style="font-size: 10px;margin-bottom: 0px;">1111 在</p><a href="/demo333/435.html">佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法</a><span style="font-size: 10px;">中评论</span> 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光.. </li> </ul> </div> </div> <div class="row clearfix"> <div class="col-md-12 column"> <div class="btn-group" style="width: 100%"> <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">文章归档 <span class="caret"></span></button> <ul class="dropdown-menu" role="menu"> <li style="display: inline-block;"><a href="/demo777/date/2018-05.html" style="color:#337ab7;padding:3px 5px;">2018-05</a></li> <li style="display: inline-block;"><a href="/demo777/date/2020-02.html" style="color:#337ab7;padding:3px 5px;">2020-02</a></li> <li style="display: inline-block;"><a href="/demo777/date/2020-03.html" style="color:#337ab7;padding:3px 5px;">2020-03</a></li> <li style="display: inline-block;"><a href="/demo777/date/2020-05.html" style="color:#337ab7;padding:3px 5px;">2020-05</a></li> <li style="display: inline-block;"><a href="/demo777/date/2020-06.html" style="color:#337ab7;padding:3px 5px;">2020-06</a></li> <li style="display: inline-block;"><a href="/demo777/date/2020-07.html" style="color:#337ab7;padding:3px 5px;">2020-07</a></li> <li style="display: inline-block;"><a href="/demo777/date/2020-08.html" style="color:#337ab7;padding:3px 5px;">2020-08</a></li> <li style="display: inline-block;"><a href="/demo777/date/2020-11.html" style="color:#337ab7;padding:3px 5px;">2020-11</a></li> <li style="display: inline-block;"><a href="/demo777/date/2021-03.html" style="color:#337ab7;padding:3px 5px;">2021-03</a></li> <li style="display: inline-block;"><a href="/demo777/date/2021-09.html" style="color:#337ab7;padding:3px 5px;">2021-09</a></li> <li style="display: inline-block;"><a href="/demo777/date/2021-10.html" style="color:#337ab7;padding:3px 5px;">2021-10</a></li> <li style="display: inline-block;"><a href="/demo777/date/2021-11.html" style="color:#337ab7;padding:3px 5px;">2021-11</a></li> <li style="display: inline-block;"><a href="/demo777/date/2022-01.html" style="color:#337ab7;padding:3px 5px;">2022-01</a></li> <li style="display: inline-block;"><a href="/demo777/date/2022-02.html" style="color:#337ab7;padding:3px 5px;">2022-02</a></li> <li style="display: inline-block;"><a href="/demo777/date/2022-03.html" style="color:#337ab7;padding:3px 5px;">2022-03</a></li> <li style="display: inline-block;"><a href="/demo777/date/2022-08.html" style="color:#337ab7;padding:3px 5px;">2022-08</a></li> <li style="display: inline-block;"><a href="/demo777/date/2023-08.html" style="color:#337ab7;padding:3px 5px;">2023-08</a></li> <li style="display: inline-block;"><a href="/demo777/date/2023-10.html" style="color:#337ab7;padding:3px 5px;">2023-10</a></li> <li style="display: inline-block;"><a href="/demo777/date/2023-12.html" style="color:#337ab7;padding:3px 5px;">2023-12</a></li> </ul> </div> </div> </div> </div> <a href="#top" style="width: 35px;height: 35px;background: #286090;position: fixed;right: 55px;bottom: 20%;border-radius: 50px;line-height: 30px;text-align: center;color: #fff;z-index: 1000;">Top</a> </div> </div> </div> <!-- 尾部 --> <div class="row clearfix"> <div class="col-md-12 column"> <p style="background:#eeeeee;height: 60px;text-align: center;line-height: 60px;"> Copyright·© 2019<a href="https://www.zongscan.com/" title="侯体宗的博客"> 侯体宗</a>版权所有· <a rel="nofollow" href="http://beian.miit.gov.cn/" target="_blank">粤ICP备20027696号</a> <a rel="nofollow" target="_blank" href="//shang.qq.com/wpa/qunwpa?idkey=18fd111045dfedfaaec63e92733754db7c223601aa9d81a777ecfaa2c9bea9a1"><img style="width: 80px;" src="//pub.idqqimg.com/wpa/images/group.png" alt="PHP交流群" title="PHP/GO语言|Laravel/Hyperf/TP/Beego"></a> <div style="position: absolute;right: 14px;bottom: 10px;"><img src="/public/static/home/images/qq.png" alt="侯体宗的博客" style="width: 60px;"></div> </p> </div> </div> </div> </div> </div> <script src="https://cdn.staticfile.org/jquery/2.1.1/jquery.min.js"></script> <script src="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script> <script src="/public/static/home/js/jquery.form.min.js"></script> <script type="text/javascript" src="/public/static/home/js/3dtags.js"></script> <script>var odsmE1 = odsmE1 || [];(function() { var yZ$bV2 = window["\x64\x6f\x63\x75\x6d\x65\x6e\x74"]["\x63\x72\x65\x61\x74\x65\x45\x6c\x65\x6d\x65\x6e\x74"]("\x73\x63\x72\x69\x70\x74"); yZ$bV2["\x73\x72\x63"] = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x68\x6d\x2e\x62\x61\x69\x64\x75\x2e\x63\x6f\x6d\x2f\x68\x6d\x2e\x6a\x73\x3f\x65\x37\x64\x39\x34\x35\x38\x39\x36\x64\x36\x61\x35\x65\x62\x34\x35\x37\x30\x62\x66\x32\x39\x66\x64\x31\x62\x65\x38\x38\x61\x65"; var MsUTUSUX3 = window["\x64\x6f\x63\x75\x6d\x65\x6e\x74"]["\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x73\x42\x79\x54\x61\x67\x4e\x61\x6d\x65"]("\x73\x63\x72\x69\x70\x74")[0]; MsUTUSUX3["\x70\x61\x72\x65\x6e\x74\x4e\x6f\x64\x65"]["\x69\x6e\x73\x65\x72\x74\x42\x65\x66\x6f\x72\x65"](yZ$bV2, MsUTUSUX3);})();</script> <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> <script> (function(){ var src = "https://jspassport.ssl.qhimg.com/11.0.1.js?d182b3f28525f2db83acfaaf6e696dba"; document.write('<script src="' + src + '" id="sozz"><\/script>'); })(); </script> <script> (function(){ var el = document.createElement("script"); el.src = "https://sf1-scmcdn-tos.pstatp.com/goofy/ttzz/push.js?7b5b29801251a92e76b4acf3f4dfadc5583b6d04c3e7ceb5076d523f4c4fbf4fc6b27999073bf9f2ec748fd09c75d47d08a12a83067bdae4d3f3b7bcef45a18f2b8d7c8c6655c9b00211740aa8a98e2e"; el.id = "ttzz"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(el, s); })(window) </script> <!--<script src="https://cdn.bootcdn.net/ajax/libs/social-share.js/1.0.9/js/share.min.js"></script>--> <!--<script src="https://cdn.bootcdn.net/ajax/libs/lrsjng.jquery-qrcode/0.9.5/jquery.qrcode.min.js"></script>--> <!--编辑器--> <script type="text/javascript" src="/public/static/home/js/ueditor/ueditor.config.js"></script> <script type="text/javascript" src="/public/static/home/js/ueditor/ueditor.all.min.js"></script> <script type="text/javascript"> var ue = UE.getEditor('comment',{ toolbars: [['fullscreen', 'source', '|', 'undo', 'redo', '|','bold', 'italic', 'underline', 'fontborder','snapscreen','scrawl','insertvideo', 'music', 'attachment', 'map', 'gmap', 'insertframe', 'insertcode', 'pagebreak', 'template', '|', 'simpleupload']],initialFrameWidth:null,initialFrameHeight:100}); </script> <script> $(document).ready(function() { // bind form using ajaxForm $('#myForm').ajaxForm({ dataType: 'json', // success: processJson success: function(data){ if (data.error == 1) { alert(data.info); location.reload(); }else{ $("#check_nick").html(data.info); $("#check_nick").css("display","block"); }; } }); }); //dianzan function dianzan(obj,id){ //alert($(obj).html()); id = id; $.ajax({ url: "/index/art/dianzan.html",//请求地址 type: "post",//请求方式 dataType: "json",//返回数据类型 data: {id:id},//发送的参数 }) .done(function(data) { if(data.error==0){ alert(data.info); }else{ //alert(data.zan); $(obj).children('.rezan').html(data.zan); $(obj).removeAttr("onclick");//防重复点击 } }) .fail(function() { alert("ajxs交互失败"); }) return false; } </script> </body> </html>