Discuz教程网

discuz X3 管理中心让提示信息更迅速&变通

[复制链接]
authicon 小白 发表于 2013-6-9 11:42:04 | 显示全部楼层 |阅读模式
功能有效改善管理中心繁琐的提示页面加载, 让加载更为迅速, 编辑,提交,跳转更为静默, 也是目前最流行的提示信息展示效果.
由于discuz在管理中心没有设置注入点, 所以唯有修改代码来实现, 我们坚持的原则: 最小化修改, 尽量不影响全局功能.

  discuz 操作之后所关连的提示信息有三种: 分别是form,loadingform, other, 前面两种, 似乎是有过程显示之类, 比如更新缓存, 文件检验等功能会如此多层跳转, (form,loadingform) 两种跳转功能暂时无法实现静默. 重点是解决余下的其它提示, 也是管理中心最多挂靠的提示功能. 基本上修改完成后, 对整个管理中心都起到一个明显的体验提升.

# 功能效果:

103026s8kllad82h6qyadr.jpg.thumb.jpg

官方默认的提示信息. 也是许多站长进入管理中心后操作遇见最多的界面, 提交一次, 提示一次. 非常繁琐.

111613f3jeage2y63y9e7k.jpg.thumb.jpg

本修改功能之后的效果如下, 页面跳转变得更静默. 提示信息在左上角安静地显示.
111606lyte3ukelakii9lc.jpg.thumb.jpg

仅修改一个文件即可实现. 提示信息在3秒后会自动完全消失. 本功能仅修改了普通提示信息.

# 修改开始:

  打开文件: source/function/function_admincp.php (管理中心函数文件)
  搜索如下代码:
  1. $dtitle = str_replace("'", "\'", cplang('admincp_title').' - '.str_replace(' » ', ' - ', $title));
复制代码
在下一行增加如下代码:
  1. // TODO: Tuesday notice
  2.     $discuz_notice = getcookie('discuz_notice');
  3.     if($discuz_notice){
  4.         $addtomenu .=  ' <span id="idnotice" style="color: #FF8040; font-weight: bolder; border-left: 12px solid #FF8040;"> '.strip_tags(base64_decode(getcookie('discuz_notice'))).'</span>';
  5.         dsetcookie('discuz_notice', null);
  6.     }
复制代码
继续搜索代码: (就在同一位置的下一行)
  1. echo '<script type="text/JavaScript">parent.document.title = \''.$dtitle.'\';if(parent.$(\'admincpnav\')) parent.$(\'admincpnav\').innerHTML=\''.$title.$addtomenu.'\';</script>';
复制代码
在下一行增加如下代码: (3秒后消失的功能. 可省略.)
  1.     if($discuz_notice){
  2.          echo "<script type="text/JavaScript">setTimeout("parent.$('idnotice').style.display='none';", 3000);</script>";
  3.     }
复制代码
继续搜索代码:
  1. $message .= $extra.($type == 'loading' ? '<img src="static/image/admincp/ajax_loader.gif" class="marginbot" />' : '');
复制代码
......................
  1. if($halt) {
复制代码
将这两行之间的代码修改为:
  1.            if($url) {
  2.    if($type == 'button') {
  3.     $message = "<br />$message<br /><p class="margintop"><input type="submit" class="btn" name="submit" value="".cplang('start')."" onclick="location.href='$url'" />";
  4.    } else {
  5.                  $switch = true;

  6.                 if($switch){
  7.                     dsetcookie('discuz_notice', base64_encode($message), 60);
  8.                     $wrurl = 1;
  9.                 }else{
  10.                     $message .= '<p class="marginbot"><a href="'.$url.'" class="lightlink">'.cplang($type == 'download' ? 'message_download' : 'message_redirect').'</a></p>';
  11.         $timeout = $type != 'loading' ? 10000 : 0;
  12.         $message .= "<script type="text/JavaScript">setTimeout("redirect('$url');", $timeout);</script>";
  13.                 }
  14.    }
  15.   } elseif($type != 'succeed') {
  16.    $message .= '<p class="marginbot">'.
  17.    "<script type="text/javascript">".
  18.    "if(history.length > (BROWSER.ie ? 0 : 1)) document.write('<a href="javascript:history.go(-1);" class="lightlink">".cplang('message_return')."</a>');".
  19.    "</script>".
  20.    '</p>';
  21.   }
  22. }
  23.     // TODO: dheader once edit
  24.    if(ADMINSCRIPT && $wrurl ){
  25.         dheader('Location: '.$url);
  26.         exit();
  27.     }
复制代码
修改完成
此文件打包下载:  
游客,如果您要查看本帖隐藏内容请回复

文件验证:
CRC32: 15648452
MD5: 5198187271D3F84762D6FA7518EE0A9F
SHA-1: 8AB371EA072F7986F4BED85F1B6FB5A7950F0D4C

* 提示: 假如需要关闭此功能, 搜索:
  1. $switch = true;
复制代码
修改为:
  1. $switch = false;
复制代码
即可.



上一篇:在线请问怎么删除最新会员
下一篇:【系统收藏&amp;美丽康乃馨xp主题】
authicon joyli 发表于 2013-7-13 11:27:32 | 显示全部楼层
顶楼主啦..希望楼主多发精品好帖啦.....
authicon 小怪, 发表于 2013-7-16 00:20:59 | 显示全部楼层
强烈支持楼主ing……
authicon 皇甫轩辕 发表于 2014-1-21 21:00:11 | 显示全部楼层
对楼猪只能说,你太伟大了!!
authicon attaboy 发表于 2014-9-30 10:38:45 | 显示全部楼层
大撒大声地叫撒代课教师
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1314学习网 ( 浙ICP备10214163号 )

GMT+8, 2025-5-2 14:57

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表