文章来源:
100素材网
更新时间:
2014-08-04 14:55:09
smarty模板 smarty模板引擎 php模板引擎 php模板制作
废话不多说,进去正题
做过后台的,应该都知道,经常要用到iframe来处理导航,如果按一般的思路来做这个功能,还是挺简单的
可是当我用smarty的时候,就发现了问题,比如,一个iframeset分成了:头部top,左边menu,右边main,
正常情况,用smarty来处理的话,一般是这样:
如果3个页面仅仅只是静态页面的话,就是如下处理
iframe.html代码:
top.html需要显示后台登陆用户名
menu.html中menu都是动态获取
main.html中需要读取服务器的信息
这样的话,我们会给3个内容页分别用3个后台处理页
iframe.html代码:
按上面的处理方法,我们就需要对3个页面分别处理,这样就自然的就多了冗余的处理,而且以后的维护也麻烦
于是我想到了下面的方法,独立出一个专门的处理程序iframe.php,通过条件来模拟出上面3个页面
直接贴代码了:
做过后台的,应该都知道,经常要用到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教程之学静态(static)方法和静态(static)变量使用
- php通过清除空格、换行符、制表符来压缩html网页的代码
- PHP中将字符串转化为整数(int) intval() printf() 性能
- PHP创建Word,Excel和CSV格式文件
- php创建目录、php阅读目录的内容、php删除目录及其内容
- PHP导出数据到Excel
- 在php中使用array_unique函数去掉数组中重复的元素
- 使用php对输入的数据进行过滤判断
- php通过语义URL防止网站被黑客攻击
- 用PHP生成XML文件的4种方法代码
- php Smarty配置方法