分类导航的显示需要写在common公共控制器下,方便全局的调用
分类导航的方法为showNav(),需要将其方法在initialize()方法里初始化
<?php
namespace app\common\controller;
/**
* 基础控制器
* 必须继承自think\Controller.php
* 这样其他的控制器只需要继承Base.php便可以继承Controller类
*/
use think\Controller;
use think\facade\Session;
use app\common\model\ArticleCategory;
class Base extends Controller
{
/**
* 初始化方法,继承至父类Controller类
* 创建常量,公共方法
* 在所有的方法之前被调用
*/
protected function initialize()
{
$this->showNav();
}
// 显示分类导航
protected function showNav()
{
//1.采用闭包的方法 查询分类表获取到所有的分类信息 试试不用闭包怎么写的
$cateList = ArticleCategory::all(function ($query){
$query->where('status',1)->order('sort','asc');
});
//2.将分类信息赋值给模板 nav.html
$this->view->assign('cateList01',$cateList);
//3.在初始化方法中调用该方法初始化数据 将cateList01 变为全局变量
}
}
前端页面显示为
<ul class="nav navbar-nav">
<li class="active"><a href="#">首页</a></li>
{volist name="cateList01" id="cate"}
<li ><a href="#">{$cate.name}</a></li>
{/volist}
</ul>