Laravel框架 -- 分类无限递归渲染视图操作
2018-08-14 17:44
106 查看
class MenuPresenter { /** * 分类列表视图 * @param $menus * @param $name * @param $id * @param $pid * @return string */ public function getMenuList($menus, $name, $id, $pid) { if ($menus) { $item = ''; foreach ($menus as $v) { $item .= $this->getNestableItem($v, $name, $id, $pid); } return $item; } return '暂无菜单'; } /** * 返回HTML代码 * @param $menu * @param $name * @param $id * @param $pid * @return string */ protected function getNestableItem($menu, $name, $id, $pid) { if ($menu['fillable']) { return $this->getHandleList($menu[$id], $menu[$name], $menu['fillable']); } if ($menu[$pid] == 0) { return ' <li class="dd-item" '.$menu[$id].'> <div class="dd-handle"> '.$menu[$name].' </div> </li>'; } return ' <li class="dd-item" '.$menu[$id].'"> <div class="dd-handle"> '.$menu[$name].' </div> </li>'; } /** * 判断是否存在子集 * @param $id 数据库的ID字段 * @param $name 数据库的name字段 * @param $pid 数据库的pid字段 * @param $fillable * @return string */ protected function getHandleList($id, $name, $fillable) { $handle = ' <li class="dd-item" data-id="'.$id.'"> <div class="dd-handle"> '.$name.' </div> <ol class="dd-list">'; if ($fillable) { foreach ($fillable as $v) { $handle .= $this->getNestableItem($v, 'catename', 'cate_id', 'cate_pid'); } } $handle .= '</ol></li>'; return $handle; } }阅读更多
相关文章推荐
- laravel 使用递归实现无限分类
- PHP递归写入MySQL实现无限级分类数据操作示例
- Laravel框架 -- Select无限分类下拉框样式以及默认选中
- laravel 使用递归实现无限分类(转自oschina姚棉伟原创)
- 递归--目录操作及无限级分类之子孙树应用
- CI框架(无限级分类+递归)
- C#无限级分类递归显示示例
- C#无限级分类递归显示示例
- 一个通用的单元测试框架的思考和设计09-实现篇-视图操作
- ThinkPHP框架-无限分类的使用
- laravel框架下新增控制器、写方法渲染页面
- laravel框架总结 -- 数据库操作
- PHP 无限分类三种方式,非函数的递归调用![兄弟连]
- PHP无限极分类技术(一)——递归无限分类原理
- laravel 5.4中实现无限级分类的方法示例
- Laravel框架之Request操作
- php递归实现无限级分类
- php实现递归与无限分类的方法
- php递归无限分类原理
- 递归实现无限级分类