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 相关文章推荐
图书管理程序(一)
Oct 09 PHP
PHP通过header实现文本文件下载的代码
Aug 08 PHP
PHP动态分页函数,PHP开发分页必备啦
Nov 07 PHP
thinkphp的CURD和查询方式介绍
Dec 19 PHP
PHP使用JSON和将json还原成数组
Feb 12 PHP
PHP7.0版本备注
Jul 23 PHP
两种php给图片加水印的实现代码
Apr 18 PHP
CodeIgniter生成静态页的方法
May 17 PHP
php出租房数据管理及搜索页面
May 23 PHP
PHP使Laravel为JSON REST API返回自定义错误的问题
Oct 16 PHP
详解laravel passport OAuth2.0的4种模式
Nov 04 PHP
使用Git实现Laravel项目的自动化部署
Nov 24 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
PHP中调用JAVA
2006/10/09 PHP
详解WordPress开发中get_header()获取头部函数的用法
2016/01/08 PHP
PHP使用xpath解析XML的方法详解
2017/05/20 PHP
javascript之querySelector和querySelectorAll使用说明
2011/10/09 Javascript
ajax上传时参数提交不更新等相关问题
2012/12/11 Javascript
Javascript Objects详解
2014/09/04 Javascript
JavaScript中rem布局在react中的应用
2015/12/09 Javascript
seajs学习之模块的依赖加载及模块API的导出
2016/10/20 Javascript
vue之将echart封装为组件
2018/06/02 Javascript
vue 录制视频并压缩视频文件的方法
2018/07/27 Javascript
vue实现分页组件
2020/06/16 Javascript
vue-router为激活的路由设置样式操作
2020/07/18 Javascript
JS sort排序详细使用方法示例解析
2020/09/27 Javascript
[44:39]2014 DOTA2国际邀请赛中国区预选赛 NE VS CNB
2014/05/21 DOTA
Python获取当前时间的方法
2014/01/14 Python
Python实现的二维码生成小软件
2014/07/11 Python
Python实现扫描指定目录下的子目录及文件的方法
2014/07/16 Python
Python远程桌面协议RDPY安装使用介绍
2015/04/15 Python
Python多线程经典问题之乘客做公交车算法实例
2017/03/22 Python
使用TFRecord存取多个数据案例
2020/02/17 Python
在Python IDLE 下调用anaconda中的库教程
2020/03/09 Python
python 解决Fatal error in launcher:错误问题
2020/05/21 Python
分布式全文检索引擎ElasticSearch原理及使用实例
2020/11/14 Python
PyCharm 光标变成黑块的解决方式
2021/02/06 Python
CSS3近阶段篇之酷炫的3D旋转透视
2016/04/28 HTML / CSS
HTML5 canvas基本绘图之图形组合
2016/06/27 HTML / CSS
浅谈基于Canvas的手绘风格图形库Rough.js
2018/03/19 HTML / CSS
Under Armour安德玛英国官网:美国高端运动科技品牌
2018/09/17 全球购物
旅游管理毕业生自荐信
2013/11/05 职场文书
自主招生自荐书
2013/11/29 职场文书
绿化工程实施方案
2014/03/17 职场文书
质量管理标语
2014/06/12 职场文书
授权委托书范文
2014/07/31 职场文书
交警正风肃纪剖析材料
2014/10/29 职场文书
Python办公自动化之Excel(中)
2021/05/24 Python
pytorch分类模型绘制混淆矩阵以及可视化详解
2022/04/07 Python