如果你对该文章中的内容有疑问/不解,可以点击此处链接提问
要注明问题和此文章链接地址 点击此处跳转
/**
* 产品分类获取子节点
* @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>
王明昌博客
