Controller.php
class UserController extends Controller { public function index() { $data = User::orderBy('id', 'desc')->paginate(15); $assign = [ 'data'=>$data ]; return view('admin/user/index', $assign); } public function update(Store $request ,AdminNav $adminNav) { //获取post数据 $data=$request->except('_token'); $map=[ 'id'=>$data['id'] ]; $adminNav->editData($map, $data); return redirect('admin/admin_nav/index'); } }
blade.php
@extends('layouts.admin') @section('title', '用户列表') @section('nav', '用户列表') @section('description', '注册的用户列表') @section('content') <table class="table table-striped table-bordered table-hover"> <tr> <th width="10%">用户名</th> <th width="10%">邮箱</th> <th width="10%">手机号</th> <th width="10%">状态</th> <th width="10%">注册时间</th> </tr> @foreach($data as $v) <tr> <td>{{ $v->name }}</td> <td>{{ $v->email }}</td> <td>{{ $v->phone }}</td> <td>{{ $v->status }}</td> <td>{{ $v->created_at }}</td> </tr> @endforeach </table> <div class="text-center"> {{ $data->links() }} </div> @endsection
模板foreach遍历:
@foreach($adminNav as $v) <li><a><i class="fa fa-{{ $v['ico'] }}"></i> {{ $v['name'] }} <span class="fa fa-chevron-down"></span></a> <ul class="nav child_menu"> @foreach($v['_data'] as $n) <li><a href="{{ url($n['mca']) }}">{{ $n['name'] }}</a></li> @endforeach </ul> </li> @endforeach
模板文件:
lay.admin.blade.php
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>@yield('title') - laravel-bjyadmin</title> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- Bootstrap --> <link href="{{ asset('statics/gentelella/vendors/bootstrap/dist/css/bootstrap.min.css') }}" rel="stylesheet"> <!-- Font Awesome --> <link href="{{ asset('statics/font-awesome-4.7.0/css/font-awesome.min.css') }}" rel="stylesheet"> <!-- NProgress --> <link href="{{ asset('statics/gentelella/vendors/nprogress/nprogress.css') }}" rel="stylesheet"> <!-- Custom Theme Style --> <link href="{{ asset('statics/gentelella/build/css/custom.min.css') }}" rel="stylesheet"> @yield('css') </head> <body class="nav-md"> <div class="container body"> <div class="main_container"> <div class="col-md-3 left_col"> <div class="left_col scroll-view"> <div class="navbar nav_title" style="border: 0;"> <a href="{{ url('admin/index/index') }}" class="site_title"><i class="fa fa-paw"></i> <span>laravel-bjyadmin</span></a> </div> <div class="clearfix"></div> <!-- menu profile quick info --> <div class="profile"> <div class="profile_pic"> <img src="{{ asset('statics/gentelella/production/images/img.jpg') }}" alt="..." class="img-circle profile_img"> </div> <div class="profile_info"> <span>Welcome,</span> <h2>{{ $loginUserData['name'] }}</h2> </div> </div> <!-- /menu profile quick info --> <br /> <!-- sidebar menu --> <div id="sidebar-menu" class="main_menu_side hidden-print main_menu"> <div class="menu_section"> <h3>General</h3> <ul class="nav side-menu"> @foreach($adminNav as $v) <li><a><i class="fa fa-{{ $v['ico'] }}"></i> {{ $v['name'] }} <span class="fa fa-chevron-down"></span></a> <ul class="nav child_menu"> @foreach($v['_data'] as $n) <li><a href="{{ url($n['mca']) }}">{{ $n['name'] }}</a></li> @endforeach </ul> </li> @endforeach </ul> </div> </div> <!-- /sidebar menu --> <!-- /menu footer buttons --> <div class="sidebar-footer hidden-small"> <a data-toggle="tooltip" data-placement="top" title="Settings"> <span class="glyphicon glyphicon-cog" aria-hidden="true"></span> </a> <a data-toggle="tooltip" data-placement="top" title="FullScreen"> <span class="glyphicon glyphicon-fullscreen" aria-hidden="true"></span> </a> <a data-toggle="tooltip" data-placement="top" title="Lock"> <span class="glyphicon glyphicon-eye-close" aria-hidden="true"></span> </a> <a data-toggle="tooltip" data-placement="top" title="Logout"> <span class="glyphicon glyphicon-off" aria-hidden="true"></span> </a> </div> <!-- /menu footer buttons --> </div> </div> <!-- top navigation --> <div class="top_nav"> <div class="nav_menu"> <nav> <div class="nav toggle"> <a id="menu_toggle"><i class="fa fa-bars"></i></a> </div> <ul class="nav navbar-nav navbar-right"> <li class=""> <a href="javascript:;" class="user-profile dropdown-toggle" data-toggle="dropdown" aria-expanded="false"> <img src="{{ asset('statics/gentelella/production/images/img.jpg') }}" alt="">{{ $loginUserData['name'] }} <span class=" fa fa-angle-down"></span> </a> <ul class="dropdown-menu dropdown-usermenu pull-right"> <li><a href="javascript:;"> Profile</a></li> <li> <a href="javascript:;"> <span class="badge bg-red pull-right">50%</span> <span>Settings</span> </a> </li> <li><a href="javascript:;">Help</a></li> <li><a href="{{ url('logout') }}"><i class="fa fa-sign-out pull-right"></i> Log Out</a></li> </ul> </li> <li role="presentation" class="dropdown"> <a href="javascript:;" class="dropdown-toggle info-number" data-toggle="dropdown" aria-expanded="false"> <i class="fa fa-envelope-o"></i> <span class="badge bg-green">6</span> </a> <ul id="menu1" class="dropdown-menu list-unstyled msg_list" role="menu"> <li> <a> <span class="image"><img src="{{ asset('statics/gentelella/production/images/img.jpg') }}" alt="Profile Image" /></span> <span> <span>John Smith</span> <span class="time">3 mins ago</span> </span> <span class="message"> Film festivals used to be do-or-die moments for movie makers. They were where... </span> </a> </li> <li> <a> <span class="image"><img src="{{ asset('statics/gentelella/production/images/img.jpg') }}" alt="Profile Image" /></span> <span> <span>John Smith</span> <span class="time">3 mins ago</span> </span> <span class="message"> Film festivals used to be do-or-die moments for movie makers. They were where... </span> </a> </li> <li> <a> <span class="image"><img src="{{ asset('statics/gentelella/production/images/img.jpg') }}" alt="Profile Image" /></span> <span> <span>John Smith</span> <span class="time">3 mins ago</span> </span> <span class="message"> Film festivals used to be do-or-die moments for movie makers. They were where... </span> </a> </li> <li> <a> <span class="image"><img src="{{ asset('statics/gentelella/production/images/img.jpg') }}" alt="Profile Image" /></span> <span> <span>John Smith</span> <span class="time">3 mins ago</span> </span> <span class="message"> Film festivals used to be do-or-die moments for movie makers. They were where... </span> </a> </li> <li> <div class="text-center"> <a> <strong>See All Alerts</strong> <i class="fa fa-angle-right"></i> </a> </div> </li> </ul> </li> </ul> </nav> </div> </div> {{--成功或者错误提示--}} @if (count($errors) > 0) <div class="top_nav"> <div class="nav_menu"> <div class="alert alert-danger"> <ul> @foreach ($errors->all() as $error) <li>{{ $error }}</li> @endforeach </ul> </div> </div> </div> @endif @if(Session::has('alert-message')) <div class="top_nav"> <div class="nav_menu"> <div class="alert {{session('alert-class')}}"> <ul> <li>{{ session('alert-message') }}</li> </ul> </div> </div> </div> @endif <!-- page content --> <div class="right_col" role="main"> <div class=""> <div class="page-title"> <div class="title_left"> <h3>@yield('nav') <small>@yield('description')</small></h3> </div> <div class="title_right"> <div class="col-md-5 col-sm-5 col-xs-12 form-group pull-right top_search"> <div class="input-group"> <input type="text" class="form-control" placeholder="Search for..."> <span class="input-group-btn"> <button class="btn btn-default" type="button">Go!</button> </span> </div> </div> </div> </div> <div class="clearfix"></div> <div class="row"> <div class="col-md-12 col-sm-12 col-xs-12"> @yield('content') </div> </div> </div> </div> <!-- footer content --> <footer> <div class="pull-right"> Gentelella - Bootstrap Admin Template by <a href="https://colorlib.com">Colorlib</a> </div> <div class="clearfix"></div> </footer> <!-- /footer content --> </div> </div> <!-- jQuery --> <script src="{{ asset('statics/gentelella/vendors/jquery/dist/jquery.min.js') }}"></script> <!-- Bootstrap --> <script src="{{ asset('statics/gentelella/vendors/bootstrap/dist/js/bootstrap.min.js') }}"></script> <!-- FastClick --> <script src="{{ asset('statics/gentelella/vendors/fastclick/lib/fastclick.js') }}"></script> <!-- NProgress --> <script src="{{ asset('statics/gentelella/vendors/nprogress/nprogress.js') }}"></script> <!-- Custom Theme Scripts --> <script src="{{ asset('statics/gentelella/build/js/custom.min.js') }}"></script> @yield('js') </body> </html>
index.blade.php
@extends('layouts.admin') @section('title', '菜单管理') @section('nav', '菜单管理') @section('description', '对菜单的一些操作') @section('content') <div class="x_panel"> <ul id="myTab" class="nav nav-tabs bar_tabs"> <li class="active"> <a href="#home" data-toggle="tab">菜单列表</a> </li> <li> <a href="javascript:;" onclick="add()">添加菜单</a> </li> </ul> <div id="myTabContent" class="tab-content"> <div class="tab-pane fade in active" id="home"> <form action="{{url('admin/admin_nav/order')}}" method="post"> <input type="hidden" name="_token" value="{{csrf_token()}}"> <table class="table table-striped table-bordered table-hover"> <tr> <th width="5%">排序</th> <th>菜单名</th> <th>连接</th> <th>操作</th> </tr> @foreach($data as $k=>$v) <tr> <td> <input class="form-control" style="width:40px;height:25px;" type="text" name="{{$v['id']}}" value="{{$v['order_number']}}"> </td> <td>{{$v['_name']}}</td> <td>{{$v['mca']}}</td> <td> <a href="javascript:;" navId="{{$v['id']}}" navName="{{$v['name']}}" onclick="add_child(this)">添加子菜单</a> | <a href="javascript:;" navId="{{$v['id']}}" navName="{{$v['name']}}" navMca="{{$v['mca']}}" navIco="{{$v['ico']}}" onclick="edit(this)">修改</a> | <a href="javascript:if(confirm('确定删除?'))location='{{url('admin/admin_nav/destroy'.'?id='.$v['id'])}}'">删除</a> </td> </tr> @endforeach <tr> <th> <input class="btn btn-success" type="submit" value="排序"> </th> <td></td> <td></td> </tr> </table> </form> </div> </div> </div> <!-- 添加菜单模态框开始 --> <div class="modal fade" id="bjy-add" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true"> × </button> <h4 class="modal-title" id="myModalLabel"> 添加菜单 </h4> </div> <div class="modal-body"> <form id="bjy-form" class="form-inline" action="{{url('admin/admin_nav/store')}}" method="post"> <input type="hidden" name="pid" value="0"> {{ csrf_field() }} <table class="table table-striped table-bordered table-hover"> <tr> <th width="16%">菜单名:</th> <td> <input class="form-control" type="text" name="name"> </td> </tr> <tr> <th>连接:</th> <td> <input class="form-control" type="text" name="mca"> 输入模块/控制器/方法即可 例如 Admin/Nav/index </td> </tr> <tr> <th>图标:</th> <td> <input class="form-control" type="text" name="ico"> font-awesome图标 输入fa fa- 后边的即可 </td> </tr> <tr> <th></th> <td> <input class="btn btn-success" type="submit" value="添加"> </td> </tr> </table> </form> </div> </div> </div> </div> <!-- 添加菜单模态框结束 --> <!-- 修改菜单模态框开始 --> <div class="modal fade" id="bjy-edit" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true"> × </button> <h4 class="modal-title" id="myModalLabel"> 修改菜单 </h4> </div> <div class="modal-body"> <form id="bjy-form" class="form-inline" action="{{url('admin/admin_nav/update')}}" method="post"> <input type="hidden" name="id"> {{ csrf_field() }} <table class="table table-striped table-bordered table-hover"> <tr> <th width="16%">菜单名:</th> <td> <input class="form-control" type="text" name="name"> </td> </tr> <tr> <th>连接:</th> <td> <input class="form-control" type="text" name="mca"> 输入模块/控制器/方法即可 例如 Admin/Nav/index </td> </tr> <tr> <th>图标:</th> <td> <input class="form-control" type="text" name="ico"> font-awesome图标 输入fa fa- 后边的即可 </td> </tr> <tr> <th></th> <td> <input class="btn btn-success" type="submit" value="修改"> </td> </tr> </table> </form> </div> </div> </div> </div> <!-- 修改菜单模态框结束 --> @endsection @section('js') <script> // 添加菜单 function add(){ $("input[name='name'],input[name='mca']").val(''); $("input[name='pid']").val(0); $('#bjy-add').modal('show'); } // 添加子菜单 function add_child(obj){ var navId=$(obj).attr('navId'); $("input[name='pid']").val(navId); $("input[name='name']").val(''); $("input[name='mca']").val(''); $("input[name='ico']").val(''); $('#bjy-add').modal('show'); } // 修改菜单 function edit(obj){ var navId=$(obj).attr('navId'); var navName=$(obj).attr('navName'); var navMca=$(obj).attr('navMca'); var navIco=$(obj).attr('navIco'); $("input[name='id']").val(navId); $("input[name='name']").val(navName); $("input[name='mca']").val(navMca); $("input[name='ico']").val(navIco); $('#bjy-edit').modal('show'); } </script> @endsection