X-admin简单首页列表

<!-- 左侧菜单开始 -->
<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"]}>&#xe6b8;</i>
                    <cite>{$v["name"]}</cite>
                    <i class="iconfont nav_right">&#xe697;</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">&#xe6a7;</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;
    }

 效果图:

猜你喜欢

转载自blog.csdn.net/weixin_45604963/article/details/119653310