帝国网站管理系统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>
