Z-BlogPHP主题制作教程#9:post-multi和post-istop

之前我们学习了index.php的代码,它在文章列表调用时使用了一段 foreach的逻辑判断,调出了两种不同模板:post-muli.php和post-istop.php。我们先回来看看index.php文章中那段代码:

{foreach $articles as $article}
    {if $article.IsTop}
        {template:post-istop}
    {else}
        {template:post-multi}
    {/if}
{foreach}

逻辑很简单,当文章列表里面有内容的时候调出。如果文章置顶了,那么就使用post-istop.php的模板,否则就使用普通的post-multi.php模板。

post-multi.php模板:
如果文章列表(index)是一个书架,那么post-multi就是一本本的书。虽然他们有着不同的名字、作者、出版时间和中心内容等,但他们都有这些元素。我们要为每本书制作一个标签,但做到最后我们会发现其实他们的格式是相似的。

post-multi就是一个格式模板,它将文章的名字、作者、发布时间等内容提取出来组合成一个小窗口(div)。然后再按1、2、3、4的顺序展示出来。我们在文章列表页面看到的那么多相似的格式就是通过multi模板和foreach循环来做的,明白了这个道理我们来看看代码吧:

<div>
<p>{$article.Time(‘Y年m月d日’)}<p>
<p><a href=”{$article.Url}”>{$article.Title}</a><p>
<p>{$article.Intro}</p>
<p>
作者:{$article.Author.StaticName}
分类:{$article.Category.Name}
浏览:{$article.ViewNums}
评论:{$article.CommNums}
</p>
</div>
这里我们只做了一个简单的div输出,将一些我们可以调用的东西按顺序输出出来而已:

{$article.Time(‘Y年m月d日’)}:输出了文章的时间,例如2016年3月6日;

{$article.Url}:文章的URL;

{$article.Title}:文章的标题;

{$article.Intro}:文章的摘要;

{$article.Author.StaticName}:文章的作者,有别名用别名;

{$article.Category.Name}:文章归属的分类;

{$article.ViewNums}:文章浏览次数;

{$article.CommNums}:文章评论数。

更多详细的你可以参考:模板标签

post-istop.php模板:
有时候,我们为了凸显“置顶”的文章会使用不同的模板,post-istop.php模板就是做这个用的。它的格式和编写方式基本和post-multi一致,输出东西和顺序上大家自行调整下即可。