smarty巧妙处理iframe中内容页的代码


Posted in PHP onMarch 07, 2012

废话不多说,进去正题
做过后台的,应该都知道,经常要用到iframe来处理导航,如果按一般的思路来做这个功能,还是挺简单的
可是当我用smarty的时候,就发现了问题,比如,一个iframeset分成了:头部top,左边menu,右边main,
正常情况,用smarty来处理的话,一般是这样:
如果3个页面仅仅只是静态页面的话,就是如下处理
iframe.html代码:

<frame src="top.html" name="topFrame" id="topFrame" scrolling="no"> 
<frameset cols="180,*" name="btFrame" id="btFrame" frameborder="NO" border="0" framespacing="0"> 
<frame src="menu.html" id="leftbar" noresize name="menu" scrolling="yes"> 
<frame src="main.html" id="rightbar" noresize name="main" scrolling="yes"> 
</frameset>

假设iframe里面的内容页都要应用到一些特殊处理,如:
top.html需要显示后台登陆用户名
menu.html中menu都是动态获取
main.html中需要读取服务器的信息
这样的话,我们会给3个内容页分别用3个后台处理页
//top.php: 
$smarty->assign('user', $names ); 
smarty_Output('top.php') 
//menu.php: 
$arr=array(); 
$arr=GetMenu(); 
$smarty->assign('menu', $arr); 
smarty_Output('menu.php'); 
//main.php 
$smarty->assign('serverInfo', $serverInfoArr); 
smarty_Output('main.php'); 
//显示iframe页 
smarty_Output('iframe.html')

上面的处理方法,完全能达到要求
iframe.html代码:
<frame src="top.php" name="topFrame" id="topFrame" scrolling="no"> 
<frameset cols="180,*" name="btFrame" id="btFrame" frameborder="NO" border="0" framespacing="0"> 
<frame src="menu.php" id="leftbar" noresize name="menu" scrolling="yes"> 
<frame src="main.php" id="rightbar" noresize name="main" scrolling="yes"> 
</frameset>

现在我们假设,我们现在要对这3个内容页分别进行分角色处理,不同角色,3个页面需要显示不同的效果
按上面的处理方法,我们就需要对3个页面分别处理,这样就自然的就多了冗余的处理,而且以后的维护也麻烦
于是我想到了下面的方法,独立出一个专门的处理程序iframe.php,通过条件来模拟出上面3个页面
直接贴代码了:
iframe.php 后台代码:
/*此处放共用处理代码*/ 
switch($src) 
{ 
case "top": 
/*此处放处理代码*/ 
smarty_Output('top.html'); 
break; 
case "menu": 
/*此处放处理代码*/ 
smarty_Output('menu.html'); 
break; 
case "main": 
/*此处放处理代码*/ 
smarty_Output('main.html'); 
break; 
default: 
break; 
}

iframe.html:
<frame src="iframe.php?src=top" name="topFrame" id="topFrame" scrolling="no"> 
<frameset cols="180,*" name="btFrame" id="btFrame" frameborder="NO" border="0" framespacing="0"> 
<frame src="iframe.php?src=menu" id="leftbar" noresize name="menu" scrolling="yes"> 
<frame src="iframe.php?src=main" id="rightbar" noresize name="main" scrolling="yes"> 
</frameset>

通过这样处理,我感觉方便多了
PHP 相关文章推荐
php fckeditor 调用的函数
Jun 21 PHP
php 文件夹删除、php清除缓存程序
Aug 25 PHP
Apache中php.ini的设置方法
Feb 28 PHP
PHP 读取和编写 XML
Nov 19 PHP
php获取本周开始日期和结束日期的方法
Mar 09 PHP
PHP使用ODBC连接数据库的方法
Jul 18 PHP
php解析xml 的四种简单方法(附实例)
Jul 11 PHP
PHP使用第三方即时获取物流动态实例详解
Apr 27 PHP
Laravel框架学习笔记之批量更新数据功能
May 30 PHP
laravel excel 上传文件保存到本地服务器功能
Nov 14 PHP
PHP实现创建一个RPC服务操作示例
Feb 23 PHP
PHP二维数组分页2种实现方法解析
Jul 09 PHP
php 操作符与控制结构
Mar 07 #PHP
PHP中将字符串转化为整数(int) intval() printf() 性能测试
Mar 20 #PHP
PHP中文件读、写、删的操作(PHP中对文件和目录操作)
Mar 06 #PHP
PHP运行出现Notice : Use of undefined constant 的完美解决方案分享
Mar 05 #PHP
php在服务器执行exec命令失败的解决方法
Mar 03 #PHP
Php Ctemplate引擎开发相关内容
Mar 03 #PHP
PHP代码网站如何防范SQL注入漏洞攻击建议分享
Mar 01 #PHP
You might like
基于HTTP长连接的&quot;服务器推&quot;技术的php 简易聊天室
2009/10/31 PHP
PHP上传图片、删除图片简单实例
2016/11/12 PHP
thinkPHP实现的省市区三级联动功能示例
2017/05/05 PHP
[原创]IE view-source 无法查看看源码 JavaScript看网页源码
2009/07/19 Javascript
基于jquery的实现简单的表格中增加或删除下一行
2010/08/01 Javascript
JavaScript模板入门介绍
2012/09/26 Javascript
js数组操作学习总结
2013/11/04 Javascript
jQuery打印图片pdf、txt示例代码
2014/07/22 Javascript
很实用的js选项卡切换效果
2016/08/12 Javascript
jquery css实现邮箱自动补全
2016/11/14 Javascript
ES6字符串模板,剩余参数,默认参数功能与用法示例
2017/04/06 Javascript
Vue.js中轻松解决v-for执行出错的三个方案
2017/06/09 Javascript
微信小程序url与token设置详解
2017/09/26 Javascript
分享vue里swiper的一些坑
2018/08/30 Javascript
详解jQuery获取特殊属性的值以及设置内容
2018/11/14 jQuery
利用Vue实现一个markdown编辑器实例代码
2019/05/19 Javascript
Vue多环境代理配置方法思路详解
2019/06/21 Javascript
[02:50]2014DOTA2 TI预选赛预选赛 大神专访第一弹!
2014/05/21 DOTA
python中常用检测字符串相关函数汇总
2015/04/15 Python
Python中利用Scipy包的SIFT方法进行图片识别的实例教程
2016/06/03 Python
ubuntu安装sublime3并配置python3环境的方法
2018/03/15 Python
Python遍历某目录下的所有文件夹与文件路径
2018/03/15 Python
在python中按照特定顺序访问字典的方法详解
2018/12/14 Python
python中for循环把字符串或者字典添加到列表的方法
2019/07/20 Python
如何打包Python Web项目实现免安装一键启动的方法
2020/05/21 Python
Keras之自定义损失(loss)函数用法说明
2020/06/10 Python
Django用内置方法实现简单搜索功能的方法
2020/12/18 Python
美国婚戒购物网站:Anjays Designs
2017/06/28 全球购物
ECCO俄罗斯官网:北欧丹麦鞋履及皮具品牌
2020/06/26 全球购物
酒店销售经理岗位职责
2014/01/31 职场文书
食堂采购员岗位职责
2014/03/17 职场文书
喜之郎果冻广告词
2014/03/20 职场文书
经济贸易系毕业生求职信
2014/05/31 职场文书
女性健康知识讲座通知
2015/04/23 职场文书
送达通知书
2015/04/25 职场文书
使用numpy nonzero 找出非0元素
2021/05/14 Python