EMLOG风格制作教程(结构分析之log_list篇)
承接上一篇,本篇教程将来仔细分析log_list.php文件。log_list.php文件默认为日志列表生成文件,即所有日志列表都是由这个文件生成的,如默认首页的日志列表、搜索结果列表、分类列表等等。EMLOG会分析URL,如果URL里面包含日志列表请求的话,EMLOG就会调用header.php、log_list.php、side.php、footer.php、module.php来生成一个列表页面。log_list.php影响到页面有:首页、分类页面、日志标签页面、搜索结果页面、分页页面、单个作者所有文章页面等。
现在来仔细分析log_list.php的结构,分析方法如同header.php。
<?php if(!defined('EMLOG_ROOT')) {exit('error!');}?>
<div id="content">
<?php doAction('index_loglist_top'); ?>(列表页面顶部插件挂载点)
<ul>
<?php foreach($logs as $value): ?>(从这里开始循环输出日子列表,一直到<?php endforeach; ?>处结束)
<li>
<h2 class="content_h2">
<?php topflg($value['top']); ?><a href="<?php echo BLOG_URL; ?>?post=<?php echo $value['logid']; ?>"><?php echo $value['log_title']; ?></a>(href=“”内是每篇日志的绝对URL,<a>标签内是每一篇日志的标题)
</h2>
<div class="act"><?php blog_sort($value['sortid'], $value['logid']); ?></div>(每篇日志所属的分类)
<div class="editor"><?php editflg($value['logid'],$value['author']); ?></div>(指向后台改日志的编辑链接,只有在管理员登录的情况下前台才会出现“编辑”超链接,删掉该行无论登录与否都不会出现)
<div class="clear line"></div>
<div class="bloger">post by <?php blog_author($value['author']); ?> / <?php echo date('Y-n-j G:i l', $value['date']); ?></div>(这里生成的效果为post by Kuma / 2009-12-5 0:57 Saturday, <?php blog_author($value['author']); ?>是该日志的作者,<?php echo date('Y-n-j G:i l', $value['date']); ?>是发布时间。这个时间格式你可以随意更改,时间的格式输出请见附录)
<div class="post"><?php echo $value['log_description']; ?></div>(这是对应日志的摘要,如果你在后台发布日志的时候填写了摘要的话,这里显示摘要内容,如果没填写,则显示整篇日志)
<div class="fujian"><?php blog_att($value['logid']); ?></div>(显示对应附件,该日志有附件则显示附件,没有附件则不显示,去掉的话列表页面将不会有附件下载链接)
<div class="under">
<div class="top"></div>
<div class="under_p">
<div class="tag"><?php blog_tag($value['logid']); ?></div>(该日志所拥有的标签,你发布日志填写了标签就会显示对应标签,没填则显示为空。删掉该行将不显示标签)
<div>
<a href="<?php echo BLOG_URL; ?>?post=<?php echo $value['logid']; ?>#comment">评论(<?php echo $value['comnum']; ?>)</a>(该日志的评论条数,href=“”里面是链接指向,括号里面是评论条数的参数)
<a href="<?php echo BLOG_URL; ?>?post=<?php echo $value['logid']; ?>#tb">引用(<?php echo $value['tbcount']; ?>)</a> (类似评论条数)
<a href="<?php echo BLOG_URL; ?>?post=<?php echo $value['logid']; ?>">浏览(<?php echo $value['views']; ?>)</a>(类似评论条数)
</div>
</div>
<div class="bottom"></div>
</div>
</li>
<?php endforeach; ?>(日志列表生成结束)
</ul>
<div id="pagenavi">
<?php echo $page_url;?>(显示分页的页码)
</div>
</div>
<!--end content-->
<?php
include getViews('side');
include getViews('footer');
?>(将side.php和footer.php加载进来,并放在下面)
附录:PHP输出各种格式的时间
年份的表示:
如2009年,y输出09 而Y输出2009
月份的表示:
如10或者9月:m输出10或09,而 n输出10或9,m和n的区别在于输出10一下的数字是否在前面加0,M将输出10月将是:Oct ,而F输出10月将是:October
星期的表示:
如输出星期四,D输出:Thu而 l 输出Thursday
天数的表示:
如输出1号,d输出01, D输出1 ,j输出1 ,js输出1st
上下午:
上下午a输出am/pm 而A输出AM/PM
小时:
如14时的输出:G输出14, g输出2, h输出02 ,H输出14
分钟:
输出分钟为i
给个实例,如输出2009年10月1日,下面给出几种输出方式:
'M d Y' Oct 01 2009
'F jS, Y' October 1st, 2009
'd-m-Y' 01-10-2009
'Y-n-j l' 2009-10-1 Thursday
好了,今天的教程到此为止,敬请关注下一篇《EMLOG风格制作教程(结构分析之echo_log篇) 》
大苦恼
夜起
