Discuz 7.2 主题列表页模板(Forumdisplay.htm)修改教程
1. 释版风格文件请勿直接用到站点中 因为注释已经把文件加大了
如果用在站点模版中 会造成不必要的拖速 注释文件仅供本地学习与参考!
2. 您或多或少需要对基本的HTML代码有所认识 不然这个注释版可能对您没有帮助。
3. 文件内因为注释很多 如果使用一般的记事本打开阅读的话 会很难阅读
建议使用一些代码编辑器打开阅读 因为只有代码编辑器 才会对注释部分作出高亮
我个人推荐EditPlus 或者更高阶的Dreamweaver 这样能更好的阅读里头的注释。
4. 欢迎转载本帖内容和附件到任何网站
5. 本帖仅供发布 请不要在这里咨询如何修改 自己研究 自己动手 丰衣足食!
文件说明
Forumdisplay.htm为Discuz!程序的主题列表页模板文件
文件路径:Discuz目录/templates/default下
复制代码
代码如下:
<!--**********************Forumdisplay.htm模板注释开始*********************************-->
<!--*载入头部模板 header.htm*-->
{subtemplate header}
<!--*判断如果当前用户为本版版主或者超版以上 载入moderate.js.{$jspath}:后台>全局>优化设置>服务器优化>JavaScript脚本目录*-->
<!--{if $forum['ismoderator']}-->
<script type="text/javascript" src="{$jspath}moderate.js?{VERHASH}"></script>
<!--{/if}-->
<!--*页面导航 例:Discuz! 论坛官方 》 首页*-->
<div id="nav"><a id="fjump" href="$indexname"
<!--*判断当前如果开启了论坛跳转菜单 鼠标移到站点名称上时 弹出菜单*-->
{if $forumjump == 1} class="dropmenu" onmouseover="showMenu({'ctrlid':this.id})"{/if}>$bbname</a> $navigation</div>
<!--*页内文字广告位*-->
<!--{if $admode && !empty($advlist['text'])}-->
<div id="ad_text" class="ad_text" >
<table summary="Text Ad" cellpadding="0" cellspacing="0">$advlist[text]</table>
</div>
<!--{else}-->
<div id="ad_text"></div>
<!--{/if}-->
<!--*判断边栏是否开启,class="wrap s_clear"为关闭边栏样式,class="wrap with_side s_clear"为开启边栏样式*-->
<div id="wrap"{if $infosidestatus['allow'] < 2} class="wrap s_clear"{else} class="wrap with_side s_clear"{/if}>
<!--*这里是边栏开关按钮,$infosidestatus[allow] == 2为关闭边栏按钮,$infosidestatus[allow] == 1为开启边栏按钮.*-->
<!--{if $infosidestatus[allow] == 2}-->
<a id="sidebar_img" href="javascript:;" onclick="sidebar_collapse(['{lang sidebar_collapsed_yes}', '{lang sidebar_collapsed_no}']);" class="$collapseimg[sidebar]"><!--{if $collapseimg[sidebar] == 'collapsed_yes'}-->{lang sidebar_collapsed_yes}<!--{else}-->{lang sidebar_collapsed_no}<!--{/if}--></a>
<!--{elseif $infosidestatus[allow] == 1}-->
<a id="sidebar_img" href="javascript:;" onclick="sidebar_collapse(['', '{lang sidebar_collapsed_no}']);" class="collapsed_yes">{lang sidebar_collapsed_yes}</a>
<!--{/if}-->
<!--*主体部分开始*-->
<div class="main">
<div class="content">
<!--*Discuz插件钩子 详见相关插件开发手册*-->
$pluginhooks[forumdisplay_header]
<div id="forumheader" class="s_clear">
<!--*本版版块名字*-->
<h1>$forum[name]</h1>
<!--*本版资讯 $forum[threads]:主题数,{echo $forum[posts]-$forum[posts]}本版回复数}*-->
<p class="forumstats">[ <strong>$forum[threads]</strong> {lang thread} / {echo $forum[posts]-$forum[threads]} {lang reply} ]</p>
<div class="forumaction">
<div class="right">
$pluginhooks[forumdisplay_forumaction]
<!--*判断当前浏览者是否已登录*-->
<!--{if $discuz_uid}-->
<!--*关注*-->
<a href="my.php?item=attention&type=forum&action=add&fid=$fid" id="ajax_attention" class="attention" onclick="ajaxmenu(this);doane(event);">{lang attention_forum}</a>
<!--*收藏*-->
<a href="my.php?item=favorites&fid=$fid" id="ajax_favorite" onclick="ajaxmenu(this);doane(event);">{lang thread_favorite}</a>
<!--{/if}-->
<!--*如果开启了RSS功能 显示RSS订阅链接*-->
<!--{if $rssstatus}--><a href="rss.php?fid=$fid&auth=$rssauth" target="_blank" class="feed">RSS</a><!--{/if}-->
</div>
<!--*如果本版开启了回收站 就显示回收站链接.(这部分有个bug 少了一个判断 这里应该只有管理组可见才对 普通会员点了都是无权访问的)*-->
<!--{if $forum['recyclebin']}-->
<a href="
<!--*如果当前用户的管理组为管理员 进入的是系统设置里的回收站*-->
{if $adminid == 1}admincp.php?action=recyclebin&frames=yes
<!--*如果当前用户为本版版主或超级版主 进入的则是版主管理中的回收站*-->
{elseif $forum['ismoderator']}modcp.php?action=recyclebins&fid=$fid{/if}" class="recyclebin" target="_blank">{lang forum_recyclebin}</a>
<!--{/if}-->
</div>
<!--*判断本版是否设置了版块简介 存在则显示*-->
<!--{if $forum[description]}--><p class="channelinfo">{lang forum_description}: $forum[description]</p><!--{/if}-->
<p id="modedby">
<!--*判断当前用户如果为本版版主或超级版主 显示下面的链接*-->
<!--{if $forum['ismoderator']}-->
<div class="modlink">
<!--*Discuz插件钩子 详见相关插件开发手册*-->
$pluginhooks[forumdisplay_modlink]
<!--*如果当前本版有用户报告 则提示报告数量*-->
<!--{if $forum['modworks']}-->
<a href="modcp.php?action=report&fid=$fid" target="_blank">{lang mod_works_existence}</a> |
<!--{/if}-->
<!--*版主管理链接*-->
<a href="modcp.php?fid=$fid" target="_blank">{lang modcp}</a>
</div>
<!--{/if}-->
<!--*本版版主*-->
{lang forum_modedby}:
<!--*判断本版版主 $moderatedby:本版版主用户名,如果本版无版主 则显示**空缺中***-->
<!--{if $moderatedby}-->$moderatedby<!--{else}-->{lang forum_opening}<!--{/if}-->
</p>
</div>
<!--*Discuz插件钩子 详见相关插件开发手册*-->
$pluginhooks[forumdisplay_top]
<!--*判断本版是否有推荐主题或版规*-->
<!--{if $forum['recommendlist'] || $forum['rules']}-->
<div id="modarea" class="s_clear">
<div class="list">
<!--*收起/展开的按钮*-->
<span class="headactions"><img onclick="toggle_collapse('modarea_c');" target='_blank'>图片附件 则显示图片附件图标*-->
<!--{if $thread['attachment'] == 2}-->
<img src="images/attachicons/image_s.gif" alt="{lang attach_img}" class="attach" />
<!--*如果附件类型为其他 则显示回形针图标*-->
<!--{elseif $thread['attachment'] == 1}-->
<img src="images/attachicons/common.gif" alt="{lang attachment}" class="attach" />
<!--{/if}-->
<!--{if $thread['displayorder'] == 0}-->
<!--*如果本帖为推荐主题 则显示推荐图标*-->
<!--{if $thread[recommendicon]}-->
<img src="{IMGDIR}/recommend_$thread[recommendicon].gif" class="attach" alt="{lang thread_recommend}" title="{lang thread_recommend}" />
<!--{/if}-->
<!--*如果本帖已经达到要求的热点 则显示热点图标*-->
<!--{if $thread[heatlevel]}-->
<img src="{IMGDIR}/hot_$thread[heatlevel].gif" class="attach" alt="$thread[heatlevel] {lang heats}" title="$thread[heatlevel] {lang heats}" />
<!--{/if}-->
<!--*如果本帖为精华帖 则显示精华图标 $thread[digest]为精华等级*-->
<!--{if $thread['digest'] > 0}-->
<img src="{IMGDIR}/digest_$thread[digest].gif" class="attach" alt="{lang thread_digest} $thread[digest]" title="{lang thread_digest} $thread[digest]" />
<!--{/if}-->
<!--*如果本帖被评分 则显示被评分图标*-->
<!--{if $thread['rate'] > 0}-->
<img src="{IMGDIR}/agree.gif" class="attach" alt="{lang rate_credit_add}" title="{lang rate_credit_add}" />
<!--{/if}-->
<!--{/if}-->
<!--*帖子页数*-->
<!--{if $thread[multipage]}-->
<span class="threadpages">$thread[multipage]</span>
<!--{/if}-->
</th>
<!--*帖子作者*-->
<td class="author">
<cite>
<!--*正常状态下 显示作者用户名和个人资料页链接*-->
<!--{if $thread['authorid'] && $thread['author']}-->
<a href="space.php?uid=$thread[authorid]">$thread[author]</a>
<!--{else}-->
<!--*如果用户匿名或开启了游客发帖 则显示为"匿名" 本版版主以上可点击"匿名"字样得知其身份*-->
<!--{if $forum['ismoderator']}-->
<a href="space.php?uid=$thread[authorid]">{lang anonymous}</a>
<!--{else}-->
<!--*如果用户匿名发帖或开启了游客发帖 则显示为匿名*-->
{lang anonymous}
<!--{/if}-->
<!--{/if}-->
</cite>
<!--*帖子发布时间*-->
<em>$thread[dateline]</em>
</td>
<!--*帖子回复次数和浏览次数*-->
<td class="nums"><strong>$thread[replies]</strong>/<em>$thread[views]</em></td>
<!--*最后回复*-->
<td class="lastpost">
<!--*最后回复作者 如果用户匿名发帖则显示匿名 **这里有个判断条件有待确认 $thread[digest] != -2 暂时保留 欢迎指点***-->
<cite><!--{if $thread['lastposter']}--><a href="{if $thread[digest] != -2}space.php?username=$thread[lastposterenc]{else}viewthread.php?tid=$thread[tid]&page={echo max(1, $thread[pages]);}{/if}">$thread[lastposter]</a><!--{else}-->{lang anonymous}<!--{/if}--></cite>
<!--*最后回复时间 **这里有个判断条件有待确认$thread[digest] != -2 暂时保留 欢迎指点***-->
<em><a href="{if $thread[digest] != -2}redirect.php?tid=$thread[tid]&goto=lastpost$highlight#lastpost{else}viewthread.php?tid=$thread[tid]&page={echo max(1, $thread[pages]);}{/if}">$thread[lastpost]</a></em>
</td>
</tr>
</tbody>
<!--{/loop}-->
<!--{else}-->
<!--*如果本版无主题 则显示"本版尚无主题"*-->
<tbody><tr><th colspan="6"><p class="nodata">{lang forum_nothreads}</p></th></tr></tbody>
<!--{/if}-->
</table>
<!--*如果选中主题管理的复选框 载入管理操作模板 topicadmin_modlayer.htm*-->
<!--{if $forum['ismoderator'] && $threadcount}-->
{template topicadmin_modlayer}
<!--{/if}-->
</form>
</div>
<div class="pages_btns s_clear">
<!--*页数*-->
$multipage
<!--*判断如果启用了显示最近版块访问数量 当鼠标移到返回首页的时候 弹出最近访问版块菜单*-->
<span <!--{if $visitedforums}-->id="visitedforums" onmouseover="$('visitedforums').id = 'visitedforumstmp';this.id = 'visitedforums';showMenu({'ctrlid':this.id})"<!--{/if}--> class="pageback"><a href="$indexname">{lang return_index}</a></span>
<!--*发新帖按钮*-->
<span class="postbtn" id="newspecialtmp" onmouseover="$('newspecial').id = 'newspecialtmp';this.id = 'newspecial';showMenu({'ctrlid':this.id})"><a href="post.php?action=newthread&fid=$fid" onclick="showWindow('newthread', this.href);return false;">{lang send_posts}</a></span>
</div>
<!--*本版在线会员 可以参考discuz.htm注释版中的在线会员列表注释部分 这里不重复了*-->
<!--{if $whosonlinestatus}-->
<dl id="onlinelist">
<!--{if $detailstatus}-->
<dd>
<span class="headactions"><a href="forumdisplay.php?fid=$fid&page=$page&showoldetails=no#online"><img src="{IMGDIR}/collapsed_no.gif" alt="" /></a></span>
<h3>{lang forum_activeusers}</h3>
</dd>
<dd>
<ul class="s_clear">
<!--{loop $whosonline $key $online}-->
<li title="{lang time}: $online[lastactivity]{LF} {lang action}: $online[action]{LF} {lang forum}: $forumname">
<img src="images/common/$online[icon]" alt="" />
<!--{if $online['uid']}-->
<a href="space.php?uid=$online[uid]">$online[username]</a>
<!--{else}-->
$online[username]
<!--{/if}-->
</li>
<!--{/loop}-->
</ul>
</dd>
<!--{else}-->
<dt>
<span class="headactions"><a href="forumdisplay.php?fid=$fid&page=$page&showoldetails=yes#online" class="nobdr"><img src="{IMGDIR}/collapsed_yes.gif" alt="" /></a></span>
<h3>{lang forum_activeusers}</h3>
</dt>
<!--{/if}-->
</dl>
<!--{/if}-->
$pluginhooks[forumdisplay_bottom]
</div>
</div>
<!--*Discuz和qihoo合作的边栏搜索 可以不理会*-->
<!--{if $infosidestatus[allow] == 2}-->
<div id="sidebar" class="side" style="$collapse[sidebar]">
<!--{if !empty($qihoo['status']) && ($qihoo['searchbox'] & 2)}-->
<div id="qihoosearch" class="sidebox">
<form method="post" action="search.php?srchtype=qihoo" onSubmit="this.target='_blank';">
<input type="hidden" name="searchsubmit" value="yes" />
<input type="text" class="txt" name="srchtxt" size="20" value="$qihoo_searchboxtxt" />
<button type="submit">{lang search}</button>
</form>
</div>
<!--{/if}-->
<!--{if $infosidestatus[0]}-->
<!--{if !empty($qihoo['status']) && ($qihoo['searchbox'] & 2)}-->
<hr class="shadowline"/>
<!--{/if}-->
<!--*边栏*-->
<div id="infoside">
{eval request($infosidestatus, 1, 0);}
</div>
<!--{/if}-->
</div>
<!--{/if}-->
<!--*下面都是发帖类型相关的 不复杂 相关的可以参考上面的主题类型*-->
<!--{if $allowpost && ($allowposttrade || $allowpostpoll || $allowpostreward || $allowpostactivity || $allowpostdebate || $threadplugins || $forum['threadsorts'])}-->
<ul class="popupmenu_popup postmenu" id="newspecial_menu" style="display: none">
<!--{if !$forum['allowspecialonly']}--><li><a href="post.php?action=newthread&fid=$fid" onclick="showWindow('newthread', this.href);doane(event)">{lang post_newthread}</a></li><!--{/if}-->
<!--{if $allowpostpoll}--><li class="poll"><a href="post.php?action=newthread&fid=$fid&special=1">{lang post_newthreadpoll}</a></li><!--{/if}-->
<!--{if $allowpostreward}--><li class="reward"><a href="post.php?action=newthread&fid=$fid&special=3">{lang post_newthreadreward}</a></li><!--{/if}-->
<!--{if $allowpostdebate}--><li class="debate"><a href="post.php?action=newthread&fid=$fid&special=5">{lang post_newthreaddebate}</a></li><!--{/if}-->
<!--{if $allowpostactivity}--><li class="activity"><a href="post.php?action=newthread&fid=$fid&special=4">{lang post_newthreadactivity}</a></li><!--{/if}-->
<!--{if $allowposttrade}--><li class="trade"><a href="post.php?action=newthread&fid=$fid&special=2">{lang post_newthreadtrade}</a></li><!--{/if}-->
<!--{if $threadplugins}-->
<!--{loop $forum['threadplugin'] $tpid}-->
<!--{if array_key_exists($tpid, $threadplugins) && @in_array($tpid, $allowthreadplugin)}-->
<li class="popupmenu_option"{if $threadplugins[$tpid][icon]} style="background-image:url($threadplugins[$tpid][icon])"{/if}><a href="post.php?action=newthread&fid=$fid&specialextra=$tpid">{$threadplugins[$tpid][name]}</a></li>
<!--{/if}-->
<!--{/loop}-->
<!--{/if}-->
<!--{if $forum['threadsorts'] && !$forum['allowspecialonly']}-->
<!--{loop $forum['threadsorts']['types'] $id $threadsorts}-->
<!--{if $forum['threadsorts']['show'][$id]}-->
<li class="popupmenu_option"><a href="post.php?action=newthread&fid=$fid&extra=$extra&sortid=$id">$threadsorts</a></li>
<!--{/if}-->
<!--{/loop}-->
<!--{loop $forum['typemodels'] $id $model}-->
<li class="popupmenu_option"><a href="post.php?action=newthread&fid=$fid&extra=$extra&modelid=$id">$model[name]</a></li>
<!--{/loop}-->
<!--{/if}-->
</ul>
<!--{/if}-->
<ul class="popupmenu_popup headermenu_popup filter_popup" id="filtertype_menu" style="display: none;">
<li><a href="forumdisplay.php?fid=$fid">{lang forum_viewall}</a></li>
<!--{if $showpoll}--><li {if $filter == 'poll'}class="active"{/if}><a href="forumdisplay.php?fid=$fid&filter=poll">{lang thread_poll}</a></li><!--{/if}-->
<!--{if $showtrade}--><li {if $filter == 'trade'}class="active"{/if}><a href="forumdisplay.php?fid=$fid&filter=trade">{lang thread_trade}</a></li><!--{/if}-->
<!--{if $showreward}--><li {if $filter == 'reward'}class="active"{/if}><a href="forumdisplay.php?fid=$fid&filter=reward">{lang thread_reward}</a></li><!--{/if}-->
<!--{if $showactivity}--><li {if $filter == 'activity'}class="active"{/if}><a href="forumdisplay.php?fid=$fid&filter=activity">{lang thread_activity}</a></li><!--{/if}-->
<!--{if $showdebate}--><li {if $filter == 'debate'}class="active"{/if}><a href="forumdisplay.php?fid=$fid&filter=debate">{lang thread_debate}</a></li><!--{/if}-->
<!--{if $threadplugins}-->
<!--{loop $forum['threadplugin'] $tpid}-->
<!--{if array_key_exists($tpid, $threadplugins) && @in_array($tpid, $allowthreadplugin)}-->
<li {if $filter == 'special' && $extraid == $tpid}class="active"{/if}><a href="forumdisplay.php?fid=$fid&filter=special&extraid=$tpid">{$threadplugins[$tpid][name]}</a></li>
<!--{/if}-->
<!--{/loop}-->
<!--{/if}-->
</ul>
<!--*最近访问版块的弹出菜单*-->
<!--{if $visitedforums}-->
<ul class="popupmenu_popup" id="visitedforums_menu" style="display: none">
$visitedforums
</ul>
<!--{/if}-->
<!--*论坛跳转菜单*-->
<!--{if $forumjump}-->
<div class="popupmenu_popup" id="fjump_menu" style="display: none">
$forummenu
</div>
<!--{/if}-->
<!--*如果设置了主题列表最大页数值 当用户要访问的页数超出最大限制的时候 只能跳转到设置的最大值页数上*-->
<!--{if $maxpage > 1}-->
<script type="text/javascript">document.onkeyup = function(e){keyPageScroll(e, {if $page > 1}1{else}0{/if}, {if $page < $maxpage}1{else}0{/if}, 'forumdisplay.php?fid=$fid$forumdisplayadd', $page);}</script>
<!--{/if}-->
<!--*载入尾部模板 footer.htm*-->
{subtemplate footer}
<!--**********************Forumdisplay.htm模板注释结束*********************************-->