AI编程生活评测

ThinkPHP3.2.3实例:volist循环实现分类及文章嵌套输出

编程笔记 / 2016-03-04 / 1 min
使用 ThinkPHP3.2.3 开发项目中遇到一个简单而常见的问题。 一个表的下面包含了分类和分类下的文章,先在需要在页面底部分类显示博客的标题,一般我们用 Volist 标签来循环取值,这里有分类,使用一次 volist 的嵌套。

数据表结构:

MySQL表结构

需求的效果:

QQ截图20160304155235

控制器:

$blog = M('blog');
$bloglist=$blog->where(array('show'=>1,'pid'=>0))->field('id,title')->limit(3)->order('sort asc')->select();
foreach ($bloglist as $k => $v) {
    $bloglist[$k]["child"]=$blog->where(array('pid'=>$v['id'],'show'=>1))->field('id,title,pid')->order("time desc")->limit(8)->select();
}
$this->assign("bloglist",$bloglist);

前台模板文件:

<volist name="bloglist" id="bloglist">
    <div class="col-md-3 footer-grid">
        <h3>{$bloglist.title}</h3>
            <ul>
            <volist name="bloglist.child" id="child">
            <li><a href="{:U('Blog/details',array('id'=>$child['id']))}">{$child.title}</a></li>
            </volist>
            </ul>
    </div>
</volist>
在工作中遇到的问题,自己不太懂的我就记下来吧,下次再用到就会熟练一点。