<!-- 左侧菜单开始 -->
<div class="left-nav">
<div id="side-nav">
<ul id="nav">
{foreach $res as $v}
<li>
<a href="javascript:;">
<i class="iconfont left-nav-li" lay-tips={$v["name"]}></i>
<cite>{$v["name"]}</cite>
<i class="iconfont nav_right"></i></a>
<ul class="sub-menu">
{foreach $v.nav as $value}
<li>
<!--这一点的{$value.name}一定要用“.”连接,一定不能用{$value['name']},而且外边一定要加''单引号-->
<a onclick="xadmin.add_tab('{$value.name}','{$value.path}')">
<i class="iconfont"></i>
<cite>{$value["name"]}</cite></a>
</li>
{/foreach}
</ul>
</li>
{/foreach}
</ul>
</div>
</div>
index控制器
/**
* 显示资源列表
*
* @return \think\Response
*/
public function index()
{
$common=new Common($this->app);
$res=$common->indexSel();
// 渲染的值
View::assign(compact("res"));
// 页面渲染
return View::fetch("index");
}
service层的
public function indexSel()
{
$res = Route::sel();
$res && $res = $res->toArray();
$result = $this->list($res, 0);
return $result;
}
递归 :切记不可将变量设置为静态
public function list($data, $pid)
{
// 这一点变量不能定义为静态
$res = [];
foreach ($data as $k => $v) {
if ($v["pid"] === $pid) {
$v["nav"] = $this->list($data, $v["id"]);
$res[] = $v;
}
}
return $res;
}
效果图: