通过代码修改实现discuz帖子下方显示上一篇下一篇伪静态链接

罗帆 草根站长 2022-04-02 669 0

Discuz已经停止维护了,其中在 Discuz! X3.4 中帖子的内容页依旧是把“上一篇”、“下一篇”的位置做的特别的偏僻,导致很多时候不知道,同时依旧是坑人的动态链接。这里无需通过插件,直接修改代码实现效果。以discuz自带主题模板为例,教程如下:


1. 打开文件viewthread.htm,文件的路劲是:

/template/default/forum

在文件里面找到这个代码

class="plc ptm pbn vwthd"

大概是在170行左右,在它的下方找到代码(大约175行):

<a href="forum.php?mod=redirect&goto=nextoldset&tid=$_G[tid]" title="{lang last_thread}"><img src="{IMGDIR}/thread-prev.png" alt="{lang last_thread}" class="vm" /></a>

和代码(大约176行)

<a href="forum.php?mod=redirect&goto=nextnewset&tid=$_G[tid]" title="{lang next_thread}"><img src="{IMGDIR}/thread-next.png" alt="{lang next_thread}" class="vm" /></a>

这两个代码就是控制显示上一篇下一篇,把这两段代码都删掉。随后保存viewthread.htm文件(记得处理前先备份下,养成良好的习惯)


2.打开文件viewthread_node.htm,文件的路劲是:

/template/default/forum

在文件里面找到这个代码

<div id="p_btn" class="mtw mbm hm cl">

在它的上方添加以下代码:

<!--{eval $next_t=DB::fetch_first("SELECT tid,subject from ".DB::table('forum_thread')." where fid='$_G[fid]' and tid>'$_G[tid]' order by tid asc limit 1");}-->
<!--{eval $up_t=DB::fetch_first("SELECT tid,subject from ".DB::table('forum_thread')." where fid='$_G[fid]' and tid<'$_G[tid]' order by tid desc limit 1");}-->
<div class="t_navigation">
	<p class="up_t"><em>上一篇:</em><a href="/thread-<!--{eval echo $up_t[tid];}-->-1-1.html"><!--{eval echo $up_t[subject];}--></a></p>
	<p class="next_t"><em>下一篇:</em><a href="/thread-<!--{eval echo $next_t[tid];}-->-1-1.html"><!--{eval echo $next_t[subject];}--></a></p>
</div>

随后保存下即可。


补充一下,如果是想要在帖子的内容上面添加上一篇下一篇,那就把代码粘贴在

<!--{ad ad_a_pr/thread/a_pr/3/$postcount}-->

的下面就可以啦。


如果是需要自定义的字体颜色和大小,另外再加一个返回列表,可以用下面的代码:

<div class="t_navigation">
    <span style="color: #FF0000; font-size: 18pt;">
	<p class="up_t"><em>上一篇:</em><a href="/thread-<!--{eval echo $up_t[tid];}-->-1-1.html"><!--{eval echo $up_t[subject];}--></a></p>
	<a href="$upnavlink">返回帖子列表</a>
	<p class="next_t"><em>下一篇:</em><a href="/thread-<!--{eval echo $next_t[tid];}-->-1-1.html"><!--{eval echo $next_t[subject];}--></a></p>
	</span>
</div>


再补充,如果你是想要在帖子内容页面修改,只要记住下面的位置,就可以随意修改了,比如:

阅读位置

<span class="pipe show">|</span><a href="javascript:;" onclick="readmode($('thread_subject').innerHTML, $post[pid]);" class="show">{lang read_mode}</a>

倒序浏览

<span class="pipe show">|</span><a href="forum.php?mod=viewthread&tid=$_G[tid]&extra=$_GET[extra]&ordertype=1"  class="show">{lang post_descview}</a>


在第二段

<span class="pipe">|</span>

代码之后的位置大概就是帖子内容上面的,只看该作者。

评论