如何让discuz!主题列表页显示每个帖子的版块名?很多同学可能不解,为什么要这么做?当我在A版块时这些帖子当然都属于A版块了,这个一看就知道了,何必加这一项?其实不然,至少全局置顶的帖子就看不出属于哪个版块,更重要的是这么做有利于SEO,可以增加各个版块的权重。
下面以discuz! x2.5为例讲解如何让discuz!主题列表页显示每个帖子的版块名,此方法不适用其它版本的discuz!
1.打开source/module/forum/forum_forumdisplay.php文件,找到第743行$threadids[$threadindex] = $thread['tid']; 。在下面添加如下代码
//获得帖子栏目名
$cur_forum = C::t(‘forum_forum’)->fetch_info_by_fid($thread['fid']);
$thread['name'] = $cur_forum['name'];
2.打开template/default/forum/forumdisplay_list.htm文件,这个主题列表页的模板文件,需要修改的地方比较多,最主要的一修改在213行,此处的修改是为了显示帖子的版块名。在以下代码下方
<!–{if CURMODULE == ‘guide’}–>
<td><a href=”forum.php?mod=forumdisplay&fid=$thread[fid]” target=”_blank”>$forumnames[$thread[fid]]['name']</a></td>
<!–{/if}–>
加入
<!–{if CURMODULE == ‘forumdisplay’}–>
<td><a href=”forum.php?mod=forumdisplay&fid=$thread[fid]” target=”_blank”>$thread[name]</a></td>
<!–{/if}–>
其它的还有4处修改,都添加些<td></td>的,用天解决页面的样式的问题,我就不列出来了。