如果你对该文章中的内容有疑问/不解,可以点击此处链接提问
要注明问题和此文章链接地址 点击此处跳转
/** * 产品分类获取子节点 * @param array $data [description] * @return [type] [description] */ function get_childer_node($data = []) { // 记录该分类的深度 static $callNum = 1; $fg = str_repeat('|----',$callNum); if(empty($data)) { return; } foreach ($data as $key => $vo) { $url = url("admin/category_edit?id={$vo['id']}"); echo " <tr> <td>{$vo['id']}</td> <td>{$vo['pid']}</td> <td>{$fg}{$vo['name']}</td> <td><image src='{$vo["thumb"]}' /></td> <td>{$vo['sort']}</td> <td>{$vo['status']}</td> <td> <button class='layui-btn layui-btn-danger layui-btn-sm' href='#'>属性</button> <button class='layui-btn layui-btn-sm' onclick='mcAdminShow('编辑','http://www.baidu.com')'>编辑</button><button class='layui-btn layui-btn-sm' >删除</button></td> </tr> "; // 如果该分类的依旧有子分类则再次遍历输出 if(!empty($vo ['childer'])) { $callNum ++; get_childer_node($vo ['childer']); } // 重置分类层级 $callNum = 1; } } /** * 加载视图 * @return [type] [description] */ public function category() { $pid = \Request::get('pid'); //查询数据 if(empty($pid)){ $list = \App\Categorys::orderBy('sort','desc')->get(); $pid=0; }else{ $list = \App\Categorys::where("pid",$pid)->orderBy('sort','desc')->get(); } // 将分类以及子分类整理排序 $list = $this->_treeNode($list->toArray(),$pid); // echo "<pre>"; // var_dump($goods_group);die; // 加载视图及分配数据 return view("admin/posts/category",compact('list')); } /** * 整理排序所有分类 * @param array $data 从数据库获取的分类 * @param integer $parentId 父id,默认一级分类 * @return array */ private function _treeNode($data,$parentId = 0) { // 用于保存整理好的分类节点 $node = []; // 循环所有分类 foreach ($data as $key => $value) { // 如果当前分类的父id等于要寻找的父id则写入$node数组,并寻找当前分类id下的所有子分类 if($parentId == $value ['pid']) { $node [$key] = $value; $node [$key] ['childer'] = $this->_treeNode($data,$value ['id']); } } return $node; } <table class="layui-table"> <colgroup> <col width="30"> <col width="30"> <col width="50"> <!-- <col width="60"> --> <col width="60"> <col width="60"> <col width="50"> <col width="120"> <col> </colgroup> <thead> <tr> <th>ID</th> <th>父级</th> <th>分类名称</th> <!-- <th>查看子类</th> --> <th>缩略图</th> <th>排序</th> <th>状态</th> <th>操作</th> </tr> </thead> <tbody> @foreach($list as $k=>$vo) <tr> <td>{{$vo['id']}}</td> <td>{{$vo['pid']}}</td> <td>{{$vo['name']}}</td> <!-- <td><a href="{{asset("admin/category?pid=".$vo['id'])}}">查看字类</a></td> --> <td><image src="{{$vo['thumb']}}" /></td> <td>{{$vo['sort']}}</td> <td>{{$vo['status']}}</td> <td> <button class="layui-btn layui-btn-sm" onclick='mcAdminShow("编辑文章","{{asset('admin/category_edit?id='.$vo['id'])}}")'>编辑</button> </td> </tr> @if(!empty($vo['childer'])) {{get_childer_node($vo['childer'])}} @endif @endforeach </tbody> </table>