smarty巧妙处理iframe中内容页,smartyiframe
做过后台的,应该都知道,经常要用到iframe来处理导航,如果按一般的思路来做这个功能,还是挺简单的
可是当我用smarty的时候,就发现了问题,比如,一个iframeset分成了:头部top,左边menu,右边main,
正常情况,用smarty来处理的话,一般是这样:
如果3个页面仅仅只是静态页面的话,就是如下处理
iframe.html代码:
<frame src="top.html" name="topFrame" id="topFrame" scrolling="no"><br /> <frameset cols="180,*" name="btFrame" id="btFrame" frameborder="NO" border="0" framespacing="0"><br /> <frame src="menu.html" id="leftbar" noresize name="menu" scrolling="yes"><br /> <frame src="main.html" id="rightbar" noresize name="main" scrolling="yes"><br /> </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"><br /> <frameset cols="180,*" name="btFrame" id="btFrame" frameborder="NO" border="0" framespacing="0"><br /> <frame src="menu.php" id="leftbar" noresize name="menu" scrolling="yes"><br /> <frame src="main.php" id="rightbar" noresize name="main" scrolling="yes"><br /> </frameset>
========================================================================
现在我们假设,我们现在要对这3个内容页分别进行分角色处理,不同角色,3个页面需要显示不同的效果
按上面的处理方法,我们就需要对3个页面分别处理,这样就自然的就多了冗余的处理,而且以后的维护也麻烦
于是我想到了下面的方法,独立出一个专门的处理程序iframe.php,通过条件来模拟出上面3个页面
直接贴代码了:
iframe.php 后台代码:
/*此处放共用处理代码*/<br /><br />switch($src)<br />{<br /> case "top":<br /> /*此处放处理代码*/<br /> smarty_Output('top.html');<br /> break;<br /> case "menu":<br /> /*此处放处理代码*/<br /> smarty_Output('menu.html');<br /> break;<br /> case "main":<br /> /*此处放处理代码*/<br /> smarty_Output('main.html');<br /> break;<br /> default:<br /> break;<br />}
iframe.html:
<frame src="iframe.php?src=top" name="topFrame" id="topFrame" scrolling="no"><br /> <frameset cols="180,*" name="btFrame" id="btFrame" frameborder="NO" border="0" framespacing="0"><br /> <frame src="iframe.php?src=menu" id="leftbar" noresize name="menu" scrolling="yes"><br /> <frame src="iframe.php?src=main" id="rightbar" noresize name="main" scrolling="yes"><br /> </frameset>
通过这样处理,我感觉方便多了

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Muat turun versi mac editor Atom
Editor sumber terbuka yang paling popular

PhpStorm versi Mac
Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Versi Mac WebStorm
Alat pembangunan JavaScript yang berguna

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)