論壇首頁是大家經常需要改動的一個頁面,下面我就給大家分析一下這個頁面的結構。
這個頁面的靜態 htm 地址為./template/default/forum/discus.htm 文件。
首先頁面的頭部為,引進默認的頭部文件代碼:<!--{subtemplate common/header}-->
下面為:

<div id="pt" >
<!--{if empty($gid) && $announcements}-->
<div >
<div id="an">
<dl >
<dt >{lang announcements}: </dt>
<dd>
<div id="anc"><ul id="ancl">$announcements</ul></div>
</dd>
</dl>
</div>
<script type="text/javascript">announcement();</script>
</div>
<!--{/if}-->
<div >
<a href="./" title="{lang
homepage}">$_G[setting][bbname]</a><em>»</em><a
href="forum.php">{$_G[setting][navs][2][navname]}</a>$navigation
</div>
</div>

 

這部分為論壇的公告和 nav 導航部分。其中公告部分為<div></div> 中的代碼,他做了右浮動,nav 導航部分<div ></div> 中的一部分。

接下來便是這個頁面的主題部分:<div id="ct" /> 部分了。這個標籤中涵蓋了論壇首頁的大部分內容。

下面我們就來具體的分析下這個標籤中的內容,首先出現的代碼片段為:

<!--{if empty($gid)}-->
<div id="chart" >
<p >{lang index_today}:
<em>$todayposts</em><span
>|</span>{lang index_yesterday}:
<em>$postdata[0]</em><span
>|</span>{lang index_posts}:
<em>$posts</em><span >|</span>{lang
index_members}:
<em>$_G['cache']['userstats']['totalmembers']</em><!--{if
$_G['setting']['lastmember']}--><span
>|</span>{lang welcome_new_members}:
<em><a href="home.php?mod=space&username=echobr%20/rawurlencode($_G%5B'setting'%5D%5B'lastmember'%5D)" target="_blank"
>$_G['setting']['lastmember']</a></em><!--{/if}--></p>
<div >
<!--{if $_G['uid']}--><a
href="home.php?mod=space&uid=$_G['uid']&do=thread&view=me"
title="{lang my_posts}" >{lang
my_posts}</a><!--{/if}--><!--{if
!empty($_G['setting']['search']['forum']['status'])}--><!--{if
$_G['uid']}--><span
>|</span><!--{/if}--><a
href="search.php?mod=forum&srchfrom=$newthreads&searchsubmit=yes"
title="{lang show_newthreads}" >{lang
show_newthreads}</a><!--{/if}-->
</div>
</div>
<!--{/if}-->

這段代碼的具體對應了頁面中的:

1.png

 

有英文意思你就可以大體指導對應的頁面元素了,當然你想作弊的話簡單的修改下這裏面的變量就可以了。

接下來就到了我們論壇最重要的部分了,版塊類表展示區,這個區域的內容都包含在,

    <div></div> 的 div 標籤中。

以下代碼為論壇論壇熱點,當後台開啓後,此段代碼便會顯示

<!--{if !empty($_G['cache']['heats']['message'])}-->
<div >
<div >
<h2>{lang hotthreads_forum}</h2>
</div>
<div >
<div >
<!--{loop $_G['cache']['heats']['message'] $data}-->
<dl >

<dt><!--{if $_G['adminid'] == 1}--><a
href="forum.php?mod=misc&action=removeindexheats&tid=$data[tid]">delete</a><!--{/if}-->
<a
href="forum.php?mod=viewthread&tid=$data[tid]" target="_blank"
>$data[subject]</a></dt>
<dd>$data[message]</dd>
</dl>
<!--{/loop}-->
</div>
<ul >
<!--{loop $_G['cache']['heats']['subject'] $data}-->
<li><!--{if
$_G['adminid'] == 1}--><a
href="forum.php?mod=misc&action=removeindexheats&tid=$data[tid]">delete</a><!--{/if}-->·
<a href="forum.php?mod=viewthread&tid=$data%5Btid%5D"
target="_blank" >$data[subject]</a></li>
<!--{/loop}-->
</ul>
</div>
</div>
<!--{/if}-->

 

緊接着下面:<div > 為具體的外框的開始

2.png

 

以下代碼是藍色底紋,版塊標題,收縮框,版主展示區域的代碼。

<div >
<span >
<img
id="category_$cat[fid]_img" src="{IMGDIR}/$cat[collapseimg]"
title="{lang spread}" alt="{lang spread}" />
</span>
<!--{if
$cat['moderators']}--><span >{lang
forum_category_modedby}: $cat[moderators]</span><!--{/if}-->
<!--{eval $caturl =
!empty($cat['domain']) &&
!empty($_G['setting']['domain']['root']['forum']) ?
'http://'.$cat['domain'].'.'.$_G['setting']['domain']['root']['forum'] :
'';}-->
<h2><a href="http://ifbr%20/!empty($caturl)$caturlelseforum.php?gid=$cat%5Bfid%5D/if" style="{if
$cat[extra][namecolor]}color:
{$cat[extra][namecolor]};{/if}">$cat[name]</a></h2>
</div>

以下代碼為每個版塊信息的具體位置代碼:

<div
id="category_$cat[fid]"
style="$collapse['category_'.$cat[fid]]"></div> 每個板塊的具體信息是以 table
框架展示的,根據每行的展示個數,做了不同的展示方式。

這一段內容大體包含了,板塊圖標,版塊名稱,今日主題數,今日回覆數,最後發表等等等的信息,有時候在做模板的時候經常需要對着些信息做些改動。那你就需要掌握基本的頁面技術了。我這裏只簡單的説一下他們的默認結構為以下代碼。

<dl{if
!empty($forum[extra][iconwidth]) && !empty($forum[icon])}
style="margin-left: {$forum[extra][iconwidth]}px;"{/if}>

<dt><a href="$forumurl"{if $forum[redirect]}
target="_blank"{/if}{if $forum[extra][namecolor]} style="color:
{$forum[extra][namecolor]};"{/if}>$forum[name]</a><!--{if
$forum[todayposts] && !$forum['redirect']}--><em
title="{lang forum_todayposts}">
($forum[todayposts])</em><!--{/if}--></dt>

<!--{if empty($forum[redirect])}--><dd><em>{lang
forum_threads}: $forum[threads]</em>, <em>{lang
forum_posts}: $forum[posts]</em></dd><!--{/if}-->
<dd>
<!--{if $forum['permission'] == 1}-->
{lang private_forum}
<!--{else}-->
<!--{if $forum['redirect']}-->

<a href="$forumurl" >{lang
url_link}</a>

<!--{elseif is_array($forum['lastpost'])}-->

<!--{if $cat['forumcolumns'] < 3}-->

<a
href="forum.php?mod=redirect&tid=$forum[lastpost][tid]&goto=lastpost#lastpost"
><!--{echo cutstr($forum[lastpost][subject],
30)}--></a> <cite>$forum[lastpost][dateline] <!--{if
$forum['lastpost']['author']}-->$forum['lastpost']['author']<!--{else}-->$_G[setting][anonymoustext]<!--{/if}--></cite>
<!--{else}-->

<a
href="forum.php?mod=redirect&tid=$forum[lastpost][tid]&goto=lastpost#lastpost">{lang
forum_lastpost}: $forum[lastpost][dateline]</a>
<!--{/if}-->
<!--{else}-->
{lang never}
<!--{/if}-->
<!--{/if}-->
</dd>
</dl>

接下來便是在線人數和友情鏈接展示的區域代碼:

<div id="online" ></div>,<div></div>

這兩段代碼我們一般不需要修改來我這裏就不具體講解了。

接下來就是側邊欄了。

<div id="sd" ></div> 當我們開啓側邊欄的時候他就會顯示了。經常有人希望在側邊欄加些東西,這是我們就可以在這個標籤底部加一段 diy 的標籤,這樣我們就可以 diy 一些自己想要的東西了。

以上就是這個文件的具體分析,希望對大家能有所幫助!