Discuz论坛首页五格修改代码解析之二(discuz.htm)
discuz.htm的文件主要就是把index.php里面定义的数据取出来,然后按照htm的布局和CSS样式表的定义,按一定的样式显示出来
1.用户信息
<td valign="top"><div class="left" style="line-height: 18px;">
<span class="bold">
判断是否已登录,如果已登录显示当前用户名,否则显示游客
<!--{if $gid &amp;#124;&amp;#124; !$discuz_uid}--><a href="$indexname">$bbname</a>
<!--{else}-->$discuz_user<!--{/if}-->
判断是否创建了博客,如果创建则链接到我的个人空间,如果没有则链接到开通博客页面
<!--{if $supe_status &amp;&amp; $discuz_uid}-->
-
<!--{if !$xspacestatus}-->
<a href="$supe_siteurl/index.php?action/register" target="_blank">{lang supe_signin_xspace}</a>
<!--{else}-->
<a href="$supe_siteurl/index.php?action/space/uid/$discuz_uid" target="_blank">{lang supe_myxspace}</a>
<!--{/if}-->
<!--{/if}-->
</span>
<br />
显示积分
{lang credits}: <span class="bold smalltxt">$credits</span> <span id="creditlist">{lang credits_detail}
调用javascript显示详细积分情况
<script type="text/javascript">menuregister(false, "creditlist", true)</script></span>
<br>{lang index_status}:
判断是否有有效日期,显示所在用户组名和有效天数
<!--{if $validdays}-->
<a href="member.php?action=groupexpiry"><span class="bold">$grouptitle</span>($validdays)</a>
<!--{else}-->
<span class="bold">$grouptitle</span><!--{/if}-->
<br />
如果系统允许隐身,并且已经登录,显示当前登录状态
<!--{if $allowinvisible &amp;&amp; $discuz_uid}-->{lang online_status}:
如果没有隐身显示切换到隐身模式
<!--{if !empty($invisible)}-->
<a href="member.php?action=switchstatus" title="{lang login_switch_normal_mode}">{lang login_invisible_mode}</a>
<!--{else}-->
<a href="member.php?action=switchstatus" title="{lang login_switch_invisible_mode}">{lang login_normal_mode}</a>
<!--{/if}-->
<!--{/if}--><br>
下面是我添加的当前用户浏览器和操作系统信息,从index.php中定义的变量中获取数据
当前时间:<span class="smalltxt">$currentdate</span><br>
{lang your_lastvisit} <span class="smalltxt">$lastvisittime</span><br><br />
浏览器:<span class="smalltxt">$visitor_browser</span><br>
操作系统:<span class="smalltxt">$visitor_os</span>
</div>
</td>
其实这部分代码原来都是在头部的,我只不过把它们换了个地方,重新排列了一下,所以只要知道每个语句的意思,论坛样式你想改成什么样子就什么样子。
2.随机图片
<td class="altbg1" align="center" valign="top">
<iframe name="I1" src="pic.php" width="200" height="168" frameborder=0 scrolling=no marginwidth="2" marginheight="2" align="right"></iframe>
</td>
图片切换效果的功能是在pic.php页面中实现的,这个页面我第三节讲,这块使用了一个iframe ,iframe的好处就是,页面可以异步载入,也就是首页和pic.php是分开来载入的,互不影响。因为flash的加载图片速度比较慢,如果不用iframe,首页的载入速度会受到一定的影响。
3.最新主题
<td valign="top">
取出index.php中获取的主题列表数组$new_post_threadlist,并把每次循环取出的一个专题存入$nthread临时数组
<!--{loop $new_post_threadlist $nthread}-->
<table border="0" width='100%' cellspacing="2">
<tr>
<td height="12" width='100%'><FONT face=Wingdings>z</FONT>
判断当前取出主题的回复数
<!--{if $nthread[replies]}-->
分别取出这个主题各个属性,包括高亮显示样式,截取长度的标题,作者,浏览数,回复数等
<a href="viewthread.php?tid=$nthread[tid]" $nthread['highlight'] title="最新话题 {LF}所在论坛: $nthread[forumname]{LF}主题标题: $nthread[subject] {LF}主题作者: $nthread[author]{LF}发表时间: $nthread[date]{LF}浏览次数: $nthread[views] 次 {LF}回复次数: $nthread[replies] 次{LF}最后回复: $nthread[lastreplytime]{LF}{lang lastpost}: $nthread[lastposter]" >$nthread[view_subject]</a>
<!--{else}-->
如果没有回复贴,显示出来的信息略有不同
<a href="viewthread.php?tid=$nthread[tid]" $nthread['highlight'] title="最新话题 {LF}所在论坛: $nthread[forumname]{LF}主题标题: $nthread[subject] {LF}主题作者: $nthread[author]{LF}发表时间{lang time}: $nthread[date]{LF}浏览次数: $nthread[views] 次 {LF}回复次数: $nthread[replies] 次{LF}{lang replies}: 暂时没有回复" >$nthread[view_subject]</a>
<!--{/if}-->
</td>
</tr>
</table>
<!--{/loop}--></td>
没有评论:
发表评论