其实用的就是子分类读取上级分类的方法。
模型中的方法
传到的$cateid是当前栏目的id
#查询当前栏目的上级分类 包括自己的id
public function getparents($cateid)
{
$cateres = $this->select();
$cates = db('cate')->find($cateid);
$pid = $cates['pid'];
if($pid){
$arr = $this->_getparentsid($cateres,$pid);
}
$arr[] = $cates;
return $arr;
}
public function _getparentsid($cateres,$pid)
{
static $arr = array();
foreach($cateres as $k => $v){
if($v['id'] == $pid){
$arr[] = $v;
$this->_getparentsid($cateres,$v['pid']);
}
}
return $arr;
}
因为文章页和列表页都会用到导致,所以用这部分判断来自于哪儿。
if(input('cateid')){
$this->getPos(input('cateid'));
}
if(input('artid')){
$articles = db('article')->field('cateid')->find(input('artid'));
$cateid = $articles['cateid'];
$this->getPos($cateid);
}
getPos就是与模型对接的地方,同时将获得的信息传到模板中
public function getPos($cateid)
{
$cate = new cateModel();
//输出面包屑导航处的分类名
$posArr = $cate->getparents($cateid);
$this->assign('posArr',$posArr);
}
当有多级栏目时,会一级级显示。
<div class="path"><a href='#'>主页</a> >
{volist name='posArr' id='vo'}
<a href='{:url('artlist/index',array('cateid'=>$vo.id))}'>{$vo.catename}</a> >
{/volist}
</div>
创始人微信
路漫漫其修远兮 吾将上下而求索添加创始人微信,一起交流心得
时间:2017年03月03日
时间:2019年07月03日
时间:2019年05月30日
时间:2017年10月24日
时间:2019年05月07日
评论