DZ论坛横排美化,代码详细分析[Discuz 7.0]

本文详细介绍了如何对Discuz 7.0版本的论坛进行横排美化,包括调整版块显示内容如主题数、帖子数等,并提供了具体代码示例供读者实践。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

DZ论坛横排美化,代码详细分析[Discuz 7.0]
2009-06-10 10:00
本帖所要说明的修改并不是那种横排调用多少个帖子标题的美化,请留意!
内容中我将详细的对横排代码说明一下,以方便大家可随个人爱好对其进行修改,
如果你对横排修改不是很明白的话,建议仔细阅读内容,写法上并不是很正确,请谅解。

所提供的代码为7.0.0GBK正式版。
6.1或6.0详见此帖(参考本帖说明): 横排美化,任改位置及显示效果[6.0/6.1]

由于论坛并没有升级,因此只是根据6.1的经验上进行说明,变化不大,
效果请自行测试(修改前注意备份)。

所修改文件为:templates/default/discuz.htm
或者你所使用的风格文件templates/*****/discuz.htm

一、首先我们了解一下竖排所涉及的内容
(说明竖排,只是为了让大家进一步了解怎样在横排中添加自己需要的美化,如果了解请跳过)

竖排部分,我们将它分为三部分,所涉及的内容为
左边:版块图标,名称跟后面的今日发帖数,简介,子版块显示,版主
中间:主题数及帖子数
右边:最后发表标题,作者及时间

左边部分的代码:

CODE:

<th$forum[folder]>
                                                            $forum[icon]
                                                            <div class="left">
                                                            <h2><a href="forumdisplay.php?fid=$forum[fid]" {if $forum[redirect]}target="_blank"{/if}>$forum[name]</a><!--{if $forum[todayposts] && !$forum['redirect']}--><em> ({lang index_today}: <strong>$forum[todayposts]</strong>)</em><!--{/if}--></h2>
                                                            <!--{if $forum[description]}--><p>$forum[description]</p><!--{/if}-->
                                                            <!--{if $forum['subforums']}--><p>{lang forum_subforums}: $forum['subforums']</p><!--{/if}-->
                                                            <!--{if $forum['moderators']}--><!--{if $moddisplay == 'flat'}--><p>{lang forum_moderators}: $forum[moderators]</p><!--{else}--><span class="dropmenu" id="mod$forum[fid]" onmouseover="showMenu(this.id)">{lang forum_moderators}</span><ul class="moderators popupmenu_popup" id="mod$forum[fid]_menu" style="display: none">$forum[moderators]</ul><!--{/if}--><!--{/if}-->
                                                            </div>
                                                       </th>
需要了解的内容:
$forum[icon]为版块图标,<h2>至</h2>为版块名称跟今日发帖数,
<!--{if $forum[description]}--><p>$forum[description]</p><!--{/if}-->为版块简介,
<!--{if $forum['subforums']}--><p>{lang forum_subforums}: $forum['subforums']</p><!--{/if}-->为子版块,
最下面的到</div>以上为版主列表。其中<p></p>为上下换行。

中间部分的代码:

CODE:

<td class="forumnums">
                                                            <!--{if $forum['redirect']}-->N/A<!--{else}--><em>$forum[threads]</em> / $forum[posts]<!--{/if}-->
                                                       </td>
需要了解的内容:
<td></td>为左右换行,$forum[threads]为主题调用标签,$forum[posts]为帖数调用标签

右边部分的代码:

CODE:

<td class="forumlast">
                                                       <!--{if $forum['permission'] == 1}-->
                                                            {lang private_forum}
                                                       <!--{else}-->
                                                            <!--{if $forum['redirect']}-->
                                                                     <a href="forumdisplay.php?fid=$forum[fid]">{lang url_link}</a>
                                                            <!--{elseif is_array($forum['lastpost'])}-->
                                                                     <p><a href="redirect.php?tid=$forum[lastpost][tid]&goto=lastpost#lastpost">{echo cutstr($forum[lastpost][subject], 30)}</a></p>
                                                                     <cite><!--{if $forum['lastpost']['author']}-->$forum['lastpost']['author']<!--{else}-->{lang anonymous}<!--{/if}--> - $forum[lastpost][dateline]</cite>
                                                            <!--{else}-->
                                                                     {lang never}
                                                            <!--{/if}-->
                                                       <!--{/if}-->
                                                       </td>
需要了解的内容:

<p><a href="redirect.php?tid=$forum[lastpost][tid]&goto=lastpost#lastpost">{echo cutstr($forum[lastpost][subject], 30)}</a></p>
这个是主题标题显示内容,上面两个为私密版块及链接外部地址,可以不要管它。

<cite><!--{if $forum['lastpost']['author']}-->$forum['lastpost']['author']<!--{else}-->{lang anonymous}<!--{/if}--> - $forum[lastpost][dateline]</cite>
前面为发表作者,如果你细心的话就可以发觉- 后面的为最后回复时间

当了解了以上内容,那么我们再来看横排代码,修改起来就容易多了。
横排部分代码:

CODE:

<h2><a href="forumdisplay.php?fid=$forum[fid]" {if $forum[redirect]}target="_blank"{/if}>$forum[name]</a><!--{if $forum[todayposts]}--><em> ({lang index_today}: <strong>$forum[todayposts]</strong>)</em><!--{/if}--></h2>
                                             <!--{if !$forum[redirect]}-->
                                                       <p>{lang forum_threads}: $forum[threads], {lang forum_posts}: $forum[posts]</p>
                                                       <!--{if $forum['permission'] == 1}-->
                                                            <p>{lang private_forum}
                                                       <!--{else}-->
                                                            <p>{lang forum_lastpost}:
                                                                     <!--{if is_array($forum['lastpost'])}-->
                                                                               <a href="redirect.php?tid=$forum[lastpost][tid]&goto=lastpost#lastpost" title="{echo cutstr($forum[lastpost][subject], 30)} {lang forum_lastpost_by} {if $forum['lastpost']['author']}$forum['lastpost']['authorusername']{else}{lang anonymous}{/if}   ">$forum[lastpost][dateline]</a>
                                                                     <!--{else}-->
                                                                               {lang never}
                                                                     <!--{/if}-->
                                                            </p>
                                                       <!--{/if}-->
                                             <!--{else}-->
                                                       <p>{lang url_link}</p>
                                             <!--{/if}-->
代码分析:
<h2>至</h2>部分,与竖排一样同为版块名称及后面的今日帖数。
<p>{lang forum_threads}: $forum[threads], {lang forum_posts}: $forum[posts]</p>为主题数及帖子数
<p>{lang forum_lastpost}:至<p>结束为最后发表时间。

二、了解了竖排和横排的相关代码,因为是通用的,你只需将竖排所提到中需要代码加到横排中,
现在我们就可以根据个人需要对其进行任意修改。

(值得注意的一点是,代码中加入了外部链接标签,因此一旦像官方这样设置外部链接,
除版块名称之外,其它内容不显示,要显示需在</h2>后面添加)

将主题数及帖子数加到今日发帖数后面:
删除:

CODE:

<p>{lang forum_threads}: $forum[threads], {lang forum_posts}: $forum[posts]</p>在 )</em>前面添加

CODE:

,{lang forum_threads}: $forum[threads], {lang forum_posts}: $forum[posts] 将今日帖数放到主题数前面:
删除:

CODE:

<!--{if $forum[todayposts]}--><em> ({lang index_today}: <strong>$forum[todayposts]</strong>)</em><!--{/if}-->在上面的<p>{lang forum_threads}: $forum[threads],前面添加

CODE:

{lang index_today}: <strong>$forum[todayposts]</strong> 主题数及帖子数上面添加或者替换为简介(将竖排的复制下来粘帖):

CODE:

<p>{lang forum_threads}: $forum[threads], {lang forum_posts}: $forum[posts]</p>上面添加或者删除替换

CODE:

<!--{if $forum[description]}--><p>$forum[description]</p><!--{/if}-->(这里要注意一点,由于横排的设置多少会造成宽度限制,简介一旦过长会造成分行现象,
从而影响了版块的整洁,我们可以给简介显示字符限制一下,
$forum[description]改为{echo cutstr($forum[description], 46)} 46即为显示字符数)

如果想显示子版块,下面再添加:

CODE:

<!--{if $forum['subforums']}--><p>{lang forum_subforums}: $forum['subforums']</p><!--{/if}--> 显示版主,添加:

CODE:

<!--{if $forum['moderators']}--><!--{if $moddisplay == 'flat'}--><p>{lang forum_moderators}: $forum[moderators]</p><!--{else}--><span class="dropmenu" id="mod$forum[fid]">{lang forum_moderators}</span><ul class="moderators popupmenu_popup" id="mod$forum[fid]_menu" style="display: none">$forum[moderators]</ul><!--{/if}--><!--{/if}--> 将主题标题加到横排中:

CODE:

<p><a href="redirect.php?tid=$forum[lastpost][tid]&goto=lastpost#lastpost">{echo cutstr($forum[lastpost][subject], 30)}</a></p>想显示作者就再将<cite>至</cite>部分添加进去

只保留版块名称及今日帖数:
</h2>以下代码全部删除

如果按以上方法设置,那横排显示的内容岂不太多了,别急,嘿嘿~~
因为上面我已经提到<td></td>为左右换行,修改起来也就简单多了。

怎么添加版块图标:

CODE:

<th width="$cat[forumcolwidth]"{$forum[folder]}>后面添加

CODE:

<a href="forumdisplay.php?fid=$forum[fid]">{$forum[icon]}</a> 在前面感觉不好看,让它显示在右边:
<p>{lang url_link}</p><!--{/if}-->
后面加

CODE:

<td><a href="forumdisplay.php?fid=$forum[fid]">{$forum[icon]}</a></td> 怎样将今日帖数及主题数帖子数移至右边(标题作者等等,方法同上)
在后面加

CODE:

<td>{lang index_today}: <strong>$forum[todayposts]</strong>
<p>{lang forum_threads}: $forum[threads]</p>
<p>{lang forum_posts}: $forum[posts]</p></td>
怎样修改为自己喜欢的显示界面,就靠你自己摸索测试了!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值