之前的前台页面的导航栏是通过a标签实现跳转的,但是在实际项目中栏目的信息可能是动态变化的,因此展示的导航栏也会根据数据库存储的变化而变化;
通过后台操作对导航栏的管理,实现前台页面的展示。
每次打开前台页面都需要优先展示导航栏,需要创建初始化方法在其他页面的控制器调用之前调用导航栏页面
首先,在后台创建自己想要的导航栏目:
在application/index模块下创建控制器Basic.php,该初始化方法用于从数据表cate中取出导航栏
<?php
namespace app\index\controller;
use think\Controller;
class Basic extends Controller
{
//定义控制器初始化方法_initialize,在该控制器的方法调用之前首先执行。
public function _initialize()
{
$this->nav();
}
//给导航模板赋值
public function nav()
{
$navres = \think\Db::name('cate')->order('id asc')->select();
$this->assign('navres',$navres);
}
}
在前台的其他控制器中继承该控制器:
<?php
namespace app\index\controller;
class Index extends Basic
{
public function index()
{
return $this->fetch();
}
}
修改导航页面header.html进行模板赋值:
由于留言板所属的type不同,因此需要对留言板做一个判断
<div class="blog-masthead">
<div class="container">
<nav class="blog-nav">
{volist name="navres" id="vo"}
<a class="blog-nav-item" href="
{if condition="$vo['type'] eq 0"}
{:url('lists/index',array('cateid'=>$vo['ID']))}
{else /}
{:url('guest/index',array('cateid'=>$vo['ID']))}
{/if}
">{$vo.catename}</a>
{/volist}
</nav>
</div>
</div>
本文地址:https://www.zhuimengzhu.com/details/190.html
转载地址:https://blog.csdn.net/weixin_36185028/article/details/78507198
转载说明:转载时请在文首注明来源zhuimengzhu.com 及教程作者,并附本文链接。谢谢各位编辑同仁配合。zhuimengzhu 保留追究相应责任的权利。