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截取utf-8中文字符串乱码的解决方法
Mar 29 PHP
利用Memcached在php下实现session机制 替换PHP的原生session支持
Aug 21 PHP
PHP使用正则表达式清除超链接文本
Nov 12 PHP
解密ThinkPHP3.1.2版本之模板继承
Jun 19 PHP
php实现删除指定目录下相关文件的方法
Oct 20 PHP
php查看网页源代码的方法
Mar 13 PHP
PHP使用http_build_query()构造URL字符串的方法
Apr 02 PHP
PHP序列化/对象注入漏洞分析
Apr 18 PHP
php 广告点击统计代码(php+mysql)
Feb 21 PHP
PHP的RSA加密解密方法以及开发接口使用
Feb 11 PHP
PHP实现关键字搜索后描红功能示例
Jul 03 PHP
PHP 对接美团大众点评团购券(门票)的开发步骤
Apr 03 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实现Ftp用户的在线管理的代码
2007/03/06 PHP
PHP set_time_limit(0)长连接的实现分析
2010/03/02 PHP
php列出一个目录下的所有文件的代码
2012/10/09 PHP
解析PHP汉字转换拼音的类
2013/06/18 PHP
php生成无限栏目树
2017/03/16 PHP
在laravel中使用Symfony的Crawler组件分析HTML
2017/06/19 PHP
PHP实现的无限分类类库定义与用法示例【基于thinkPHP】
2018/08/06 PHP
基于PHP的登录和注册的功能的实现
2020/08/06 PHP
半角全角相互转换的js函数
2009/10/16 Javascript
JavaScript操作Cookie详解
2015/02/28 Javascript
使用C++为node.js写扩展模块
2015/04/22 Javascript
JS中artdialog弹出框控件之提交表单思路详解
2016/04/18 Javascript
javascript解决小数的加减乘除精度丢失的方案
2016/05/31 Javascript
从零开始学习Node.js系列教程四:多页面实现数学运算的client端和server端示例
2017/04/13 Javascript
Vue中使用vux的配置详解
2017/05/05 Javascript
jQuery DOM节点的遍历方法小结
2017/08/15 jQuery
JavaScript高级函数应用之分时函数实例分析
2018/08/03 Javascript
基于leaflet.js实现修改地图主题样式的流程分析
2020/05/15 Javascript
Python中zfill()方法的使用教程
2015/05/20 Python
Android应用开发中Action bar编写的入门教程
2016/02/26 Python
完美解决python遍历删除字典里值为空的元素报错问题
2016/09/11 Python
老生常谈python中的重载
2018/11/11 Python
python将类似json的数据存储到MySQL中的实例
2019/07/12 Python
基于python的itchat库实现微信聊天机器人(推荐)
2019/10/29 Python
Python使用uuid库生成唯一标识ID
2020/02/12 Python
伦敦所有西区剧院演出官方票务代理:Theatre Tickets Direct
2017/05/26 全球购物
铭立家具面试题
2012/12/06 面试题
婚礼证婚人证婚词
2014/01/13 职场文书
护理工作感言
2014/01/16 职场文书
违纪检讨书2000字
2014/02/08 职场文书
《世界多美呀》教学反思
2014/03/02 职场文书
承诺书格式
2014/06/03 职场文书
八荣八耻演讲稿
2014/09/15 职场文书
伏羲庙导游词
2015/02/09 职场文书
2015年音乐教师个人工作总结
2015/05/20 职场文书
「魔导具师妲莉亚永不妥协~从今天开始的自由职人生活~」1、2卷发售宣传CM公开
2022/03/21 日漫