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]为版块图标,<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"> 需要了解的内容:
<td></td>为左右换行,$forum[threads]为主题调用标签,$forum[posts]为帖数调用标签 右边部分的代码: CODE: <td class="forumlast"> 需要了解的内容:
<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>
代码分析:
<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> 怎样修改为自己喜欢的显示界面,就靠你自己摸索测试了!
|