本帖最后由 元首 于 2013-6-9 11:17 编辑
功能有效改善管理中心繁琐的提示页面加载, 让加载更为迅速, 编辑,提交,跳转更为静默, 也是目前最流行的提示信息展示效果.
由于discuz在管理中心没有设置注入点, 所以唯有修改代码来实现, 我们坚持的原则: 最小化修改, 尽量不影响全局功能.
discuz 操作之后所关连的提示信息有三种: 分别是form,loadingform, other, 前面两种, 似乎是有过程显示之类, 比如更新缓存, 文件检验等功能会如此多层跳转, (form,loadingform) 两种跳转功能暂时无法实现静默. 重点是解决余下的其它提示, 也是管理中心最多挂靠的提示功能. 基本上修改完成后, 对整个管理中心都起到一个明显的体验提升.
# 功能效果:
官方默认的提示信息. 也是许多站长进入管理中心后操作遇见最多的界面, 提交一次, 提示一次. 非常繁琐.
本修改功能之后的效果如下, 页面跳转变得更静默. 提示信息在左上角安静地显示.
仅修改一个文件即可实现. 提示信息在3秒后会自动完全消失. 本功能仅修改了普通提示信息.
# 修改开始:
打开文件: source/function/function_admincp.php (管理中心函数文件)
搜索如下代码:- $dtitle = str_replace("'", "\'", cplang('admincp_title').' - '.str_replace(' » ', ' - ', $title));
复制代码 在下一行增加如下代码:- // TODO: Tuesday notice
- $discuz_notice = getcookie('discuz_notice');
- if($discuz_notice){
- $addtomenu .= ' <span id="idnotice" style="color: #FF8040; font-weight: bolder; border-left: 12px solid #FF8040;"> '.strip_tags(base64_decode(getcookie('discuz_notice'))).'</span>';
- dsetcookie('discuz_notice', null);
- }
复制代码 继续搜索代码: (就在同一位置的下一行)- echo '<script type="text/JavaScript">parent.document.title = \''.$dtitle.'\';if(parent.$(\'admincpnav\')) parent.$(\'admincpnav\').innerHTML=\''.$title.$addtomenu.'\';</script>';
复制代码 在下一行增加如下代码: (3秒后消失的功能. 可省略.)- if($discuz_notice){
- echo "<script type="text/JavaScript">setTimeout("parent.$('idnotice').style.display='none';", 3000);</script>";
- }
复制代码 继续搜索代码:- $message .= $extra.($type == 'loading' ? '<img src="static/image/admincp/ajax_loader.gif" class="marginbot" />' : '');
复制代码 ......................将这两行之间的代码修改为:- if($url) {
- if($type == 'button') {
- $message = "<br />$message<br /><p class="margintop"><input type="submit" class="btn" name="submit" value="".cplang('start')."" onclick="location.href='$url'" />";
- } else {
- $switch = true;
-
- if($switch){
- dsetcookie('discuz_notice', base64_encode($message), 60);
- $wrurl = 1;
- }else{
- $message .= '<p class="marginbot"><a href="'.$url.'" class="lightlink">'.cplang($type == 'download' ? 'message_download' : 'message_redirect').'</a></p>';
- $timeout = $type != 'loading' ? 10000 : 0;
- $message .= "<script type="text/JavaScript">setTimeout("redirect('$url');", $timeout);</script>";
- }
- }
- } elseif($type != 'succeed') {
- $message .= '<p class="marginbot">'.
- "<script type="text/javascript">".
- "if(history.length > (BROWSER.ie ? 0 : 1)) document.write('<a href="javascript:history.go(-1);" class="lightlink">".cplang('message_return')."</a>');".
- "</script>".
- '</p>';
- }
- }
- // TODO: dheader once edit
- if(ADMINSCRIPT && $wrurl ){
- dheader('Location: '.$url);
- exit();
- }
复制代码 修改完成
此文件打包下载:
文件验证:
CRC32: 15648452
MD5: 5198187271D3F84762D6FA7518EE0A9F
SHA-1: 8AB371EA072F7986F4BED85F1B6FB5A7950F0D4C
* 提示: 假如需要关闭此功能, 搜索:修改为:即可. 安装使用上有问题, 请在本贴回复, 我将一一解答.
|