discuz x2论坛公告栏错位?
Discuz X2 公告显示不完全 日期右边的括号不显示?
Discuz X2有这么一个古怪的毛病,如果你是从低版本升级到x2,那么在论坛首页的公告是无法完整显示的,公告会显示公告标题、公告日期,但是公告日期前面有个左括号,后面却没有右括号,然而我们查看源代码,是可以看到左右括号都有。这个问题让不少从旧版本升级到Discuz X2的用户头疼。
其实解决这个问题的方法很多,这里简单说两种。
第一种方法,用文本编辑软件(如UltraEdit、记事本等),打开source\module\forum\forum_index.php,搜索- <em>('.dgmdate($announcement['starttime'], 'd').')</em>
复制代码 修改为- <em>~'.dgmdate($announcement['starttime'], 'd').'</em>
复制代码 文件中一共有两处,都要修改,修改完后保存文件,然后上传到论坛目录\source\module\forum\,重新刷新论坛首页,左右括号不搭配的问题解决了。当然,您也可以将~修改为其他半角字符,但字符数不能超过一个。
第二种方法,打开source\module\forum\forum_index.php,搜索以下代码- function get_index_announcements() {
- global $_G;
- $announcements = '';
- if($_G['cache']['announcements']) {
- $readapmids = !empty($_G['cookie']['readapmid']) ? explode('D', $_G['cookie']['readapmid']) : array();
- foreach($_G['cache']['announcements'] as $announcement) {
- if(!$announcement['endtime'] || $announcement['endtime'] > TIMESTAMP && (empty($announcement['groups']) || in_array($_G['member']['groupid'], $announcement['groups']))) {
- if(empty($announcement['type'])) {
- $announcements .= '<li><span><a href="forum.php?mod=announcement&id='.$announcement['id'].'" target="_blank" class="xi2">'.$announcement['subject'].
- '</a></span><em>('.dgmdate($announcement['starttime'], 'd').')</em></li>';
- } elseif($announcement['type'] == 1) {
- $announcements .= '<li><span><a href="'.$announcement['message'].'" target="_blank" class="xi2">'.$announcement['subject'].
- '</a></span><em>('.dgmdate($announcement['starttime'], 'd').')</em></li>';
- }
- }
- }
- }
- return $announcements;
- }
复制代码 将这一段中所有的全部删除,保存文件,然后上传到论坛目录\source\module\forum\,刷新一次即可在首页上看到公告恢复正常显示。
相对来说第二种方法要更高级,修改完以后和新装的Discuz X2的效果一样,第一种方法修改后则由~替代(),改变了原始的显示效果。
这个问题,也可以通过调整CSS来解决,但实施起来就比较麻烦了,这里不予阐述,有兴趣的朋友可以自己尝试。 |
|