找回密码
 新建账号

Discuz X2公告显示不完整,日期右边的括号不显示的解决办法

[复制链接]
php 发表于 2011/12/15 06:12 | 显示全部楼层 |阅读模式
discuz x2论坛公告栏错位?
Discuz X2 公告显示不完全 日期右边的括号不显示?
Discuz X2有这么一个古怪的毛病,如果你是从低版本升级到x2,那么在论坛首页的公告是无法完整显示的,公告会显示公告标题、公告日期,但是公告日期前面有个左括号,后面却没有右括号,然而我们查看源代码,是可以看到左右括号都有。这个问题让不少从旧版本升级到Discuz X2的用户头疼。

其实解决这个问题的方法很多,这里简单说两种。

第一种方法,用文本编辑软件(如UltraEdit、记事本等),打开source\module\forum\forum_index.php,搜索
  1. <em>('.dgmdate($announcement['starttime'], 'd').')</em>
复制代码
修改为
  1. <em>~'.dgmdate($announcement['starttime'], 'd').'</em>
复制代码
文件中一共有两处,都要修改,修改完后保存文件,然后上传到论坛目录\source\module\forum\,重新刷新论坛首页,左右括号不搭配的问题解决了。当然,您也可以将~修改为其他半角字符,但字符数不能超过一个。

第二种方法,打开source\module\forum\forum_index.php,搜索以下代码
  1. function get_index_announcements() {
  2.         global $_G;
  3.         $announcements = '';
  4.         if($_G['cache']['announcements']) {
  5.                 $readapmids = !empty($_G['cookie']['readapmid']) ? explode('D', $_G['cookie']['readapmid']) : array();
  6.                 foreach($_G['cache']['announcements'] as $announcement) {
  7.                         if(!$announcement['endtime'] || $announcement['endtime'] > TIMESTAMP && (empty($announcement['groups']) || in_array($_G['member']['groupid'], $announcement['groups']))) {
  8.                                 if(empty($announcement['type'])) {
  9.                                         $announcements .= '<li><span><a href="forum.php?mod=announcement&id='.$announcement['id'].'" target="_blank" class="xi2">'.$announcement['subject'].
  10.                                                 '</a></span><em>('.dgmdate($announcement['starttime'], 'd').')</em></li>';
  11.                                 } elseif($announcement['type'] == 1) {
  12.                                         $announcements .= '<li><span><a href="'.$announcement['message'].'" target="_blank" class="xi2">'.$announcement['subject'].
  13.                                                 '</a></span><em>('.dgmdate($announcement['starttime'], 'd').')</em></li>';
  14.                                 }
  15.                         }
  16.                 }
  17.         }
  18.         return $announcements;
  19. }
复制代码
将这一段中所有的
游客,如果您要查看本帖隐藏内容请回复
全部删除,保存文件,然后上传到论坛目录\source\module\forum\,刷新一次即可在首页上看到公告恢复正常显示。

相对来说第二种方法要更高级,修改完以后和新装的Discuz X2的效果一样,第一种方法修改后则由~替代(),改变了原始的显示效果。

这个问题,也可以通过调整CSS来解决,但实施起来就比较麻烦了,这里不予阐述,有兴趣的朋友可以自己尝试。
pppkq 发表于 2016/11/15 16:50 | 显示全部楼层
我是3.1的版本出现这个问题  希望能借鉴解决我的问题

手机版|轻松E站

GMT+8, 2024/4/24 11:20

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