东方星雨

简单网络

一个爱好网络的80后男站长。

关注我东方星雨个人微信号:476847113

您现在的位置是:首页 > 站长日志

帝国网站管理系统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”来开启调试模式,你也可以使用其它参数。

然后在需要传递的地方加上参数:

image.png

代码

<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>


文章评论