前台导航完成后就需要将每个栏目下对应的文章展示到栏目下;
每个栏目展示对应的lists控制器的index操作方法
打开application/index/controller/Lists.php文件:
<?php
namespace app\index\controller;
class Lists extends Basic
{
public function index()
{
$cates=\think\Db::name('cate')->field('catename')->find(input('cateid'));//查询文章cateid对应的catename
$catename=$cates['catename'];
$artres= \think\Db::name('article')->order('artid desc')->where('cateid','=',input('cateid'))->paginate(2);//查询某个栏目下的对应文章
$this->assign('artres',$artres);//获取的文章赋值到模板上
$this->assign('catename',$catename);//获取文章对应的栏目名称
return $this->fetch('lists');
}
}
在lists.html上进行模板赋值;
包括:时间、题目、图片、关键词、浏览器量和阅读全文标签
如果有的文章没有图片需要做一个判断;
关键词使用php的explode方法转化为数组,然后用foeach循环输出展示出来;
分页长度为2:
<body>
{include file="Public/header" /}
<div class="container">
<div class="row">
<div class="col-sm-8 blog-main">
{volist name="artres" id="vo"}
<div class="post multi-post cate2 auth1">
<h4 class="post-date">{$vo.time|date="Y年m月d日",###}</h4>
<h2 class="post-title"><a href="{:url('Article/index',array('artid'=>$vo['artid']))}">{$vo.title}</a></h2>
<div class="post-body"><p>描述:{$vo.desc}</p>
{if condition="$vo['pic'] neq ''"}
<p style="text-indent: 0em;"><a title="" target="_self" href="{:url('Article/index',array('artid'=>$vo['artid']))}"><img src="__PUBLIC__{$vo.pic}"/></a></p>
{/if}
</div>
<h5 class="post-tags">关键词: <span class="tags">
<?php
$arr=explode(',', $vo['keywords']);
foreach ($arr as $k => $v) {
echo "<a href='http://localhost/test/tp5/Public/index.php/index/Tags/index/tags/$v'>$v</a>";
echo ' ';
}
?>
</span></h5>
<h6 class="post-footer">
发布:渣渣 | 分类:{$catename} | 评论:6 | 浏览:{$vo.click} | <a href="{:url('Article/index',array('artid'=>$vo['artid']))}">阅读全文 > </a>
</h6>
</div>
{/volist}
<div class="post pagebar">{$artres->render()}</div>
</div>
{include file="Public/sidebar"}
</div>
</div>
{include file="Public/footer" /}
</body>
效果: