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 将字符串按大写字母分隔成字符串数组
Apr 30 PHP
php基础学习之变量的使用
Jun 09 PHP
PHP分多步骤填写发布信息的简单方法实例代码
Sep 23 PHP
ThinkPHP使用UTFWry地址库进行IP定位实例
Apr 01 PHP
PDO预处理语句PDOStatement对象使用总结
Nov 20 PHP
PHP中SimpleXML函数用法分析
Nov 26 PHP
yii中widget的用法
Dec 03 PHP
smarty模板引擎从配置文件中获取数据的方法
Jan 22 PHP
PHP编程获取各个时间段具体时间的方法
May 26 PHP
PHP钩子与简单分发方式实例分析
Sep 04 PHP
Yii2.0使用阿里云OSS的SDK上传图片、下载、删除图片示例
Sep 20 PHP
PHP排序算法之简单选择排序(Simple Selection Sort)实例分析
Apr 20 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
excellent!――ASCII Art(由目标图象生成ascii)
2007/02/20 PHP
解析PHP跨站刷票的实现代码
2013/06/18 PHP
PHP中的常见魔术方法功能作用及用法实例
2015/07/01 PHP
Yii2.0多文件上传实例说明
2017/07/24 PHP
使用隐藏的new来创建对象
2011/03/29 Javascript
禁止页面刷新让F5快捷键及右键都无效
2014/01/22 Javascript
javascript 获取HTML DOM父、子、临近节点
2014/06/16 Javascript
nodejs调用cmd命令实现复制目录
2015/05/04 NodeJs
JS中获取函数调用链所有参数的方法
2015/05/07 Javascript
Angularjs过滤器使用详解
2016/05/25 Javascript
使用jquery+iframe做一个ajax上传效果(实例)
2017/08/24 jQuery
AngularJS select加载数据选中默认值的方法
2018/02/28 Javascript
angular项目中bootstrap-datetimepicker时间插件的使用示例
2018/03/15 Javascript
vue实现tab切换外加样式切换方法
2018/03/16 Javascript
vue 根据数组中某一项的值进行排序的方法
2018/08/30 Javascript
JS 事件机制完整示例分析
2020/01/15 Javascript
js判断鼠标移入移出方向的方法
2020/06/24 Javascript
nginx部署多个vue项目的方法示例
2020/09/06 Javascript
vue用ant design中table表格,点击某行时触发的事件操作
2020/10/28 Javascript
修改NPM全局模式的默认安装路径的方法
2020/12/15 Javascript
[02:16]DOTA2英雄基础教程 干扰者
2014/01/15 DOTA
python实现图片筛选程序
2018/10/24 Python
几款Python编译器比较与推荐(小结)
2020/10/15 Python
html5之Canvas路径绘图、坐标变换应用实例
2012/12/26 HTML / CSS
Linux不知道文件后缀名怎么判断文件类型
2012/04/26 面试题
同步和异步有何异同,在什么情况下分别使用他们?
2012/12/28 面试题
如何写一个自定义标签
2012/12/28 面试题
医院护理人员的自我评价分享
2013/10/04 职场文书
中学家长会邀请函
2014/01/17 职场文书
应急管理培训方案
2014/06/12 职场文书
2015年党员个人自我评价
2015/03/03 职场文书
个人简历求职信范文
2015/03/20 职场文书
会议承办单位欢迎词
2015/09/30 职场文书
党章党规党纪学习心得体会
2016/01/14 职场文书
机关单位2016年法制宣传日活动总结
2016/04/01 职场文书
mysql 获取相邻数据项
2022/05/11 MySQL