帝国网站管理系统EmpireCMS 调试Debug参数传递处理
2020-05-30 站长 站长日志
由于帝国网站管理系统EmpireCMS的后台管理很多页面都是在Iframe窗口中打开,所以想直接在地址栏的URL中添加参数是很困难的,所以要对一些文件进行修改,使在最顶层页面的地址栏URL中添加的参数能够传递到各个页面。
修改/e/admin/adminstyle/1/AdminMain.php,在文件的第一段PHP代码后面添加:
<?php $ts = ''; if ($_GET["dbg"] == "1"){ $dbg = "&dbg=1"; } ?>
我这里使用“dbg=1”来开启调试模式,你也可以使用其它参数。
然后在需要传递的地方加上参数:
代码
<TD width="60" class="flyoutLink" onclick="JumpToMain('AddInfoChClass.php<?=$ecms_hashur['whehref']?><?=$dbg?>');" onmouseover="over(this)" onmouseout="out(this)">增加信息</TD> <TD width="60" class="flyoutLink" onclick="JumpToMain('ListAllInfo.php<?=$ecms_hashur['whehref']?><?=$dbg?>');" onmouseover="over(this)" onmouseout="out(this)">管理信息</TD> <TD width="60" class="flyoutLink" onclick="JumpToMain('ListAllInfo.php?ecmscheck=1<?=$ecms_hashur['ehref']?><?=$dbg?>');" onmouseover="over(this)" onmouseout="out(this)">审核信息</TD> <TD width="60" class="flyoutLink" onclick="JumpToMain('workflow/ListWfInfo.php<?=$ecms_hashur['whehref']?><?=$dbg?>');" onmouseover="over(this)" onmouseout="out(this)">签发信息</TD>
可能你不明白这里的调试模式什么意思,其实就是参加一些打印输出,或者在引用的CSS、JS URL后面添加一个时间戳,解决浏览器缓存的问题,因为当打开的页面是嵌套在Iframe窗口中的时候,你强制刷新(Ctrl+Shift+R)也是没有用的。
上面的工作只是完成了一层的传递,如果链接/调用有多层的话,还需要接着向下处理;比如增加信息这个功能,我接着还要处理“/e/admin/AddInfoChClass.php”文件。
在php代码后面添加代码:
<?php $ts = ''; if ($_GET["dbg"] == "1"){ $dbg = "&dbg=1"; } ?>
修改JS代码
<script> function changeclass(obj) { if(obj.addclassid.value=="") { alert("请选择栏目"); } else { var url = 'AddNews.php?<?=$ecms_hashur['ehref']?>&enews=AddNews<?=$dbg?>&classid='+obj.addclassid.value; if ('<?=$dbg?>' === ''){ self.location.href=url; }else{ window.open(url,"_blank"); } } } </script>