还不错的插件,减少了开发面包屑功能的麻烦,不过还得自定义个文件,每个route都得写上下关系才行.还是不能特别便利,不过有总比没有好.
安装
1
| $ composer require davejamesmiller/laravel-breadcrumbs
|
配置
1 2 3 4 5 6 7 8 9
| 'providers' => [ DaveJamesMiller\Breadcrumbs\ServiceProvider::class, ],
'aliases' => [ 'Breadcrumbs' => DaveJamesMiller\Breadcrumbs\Facade::class, ],
|
使用
需要创建个文件app/Http/breadcrumbs.php
像是这样.每个路由都得定义一下,并且给与上下级关系,
下面只是静态定义,更多定义可以看文档.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| <?php
Breadcrumbs::register('home', function($breadcrumbs) { $breadcrumbs->push('Home', route('home')); });
Breadcrumbs::register('about', function($breadcrumbs) { $breadcrumbs->parent('home'); $breadcrumbs->push('About', route('about')); });
Breadcrumbs::register('blog', function($breadcrumbs) { $breadcrumbs->parent('home'); $breadcrumbs->push('Blog', route('blog')); });
Breadcrumbs::register('category', function($breadcrumbs, $category) { $breadcrumbs->parent('blog'); $breadcrumbs->push($category->title, route('category', $category->id)); });
Breadcrumbs::register('page', function($breadcrumbs, $page) { $breadcrumbs->parent('category', $page->category); $breadcrumbs->push($page->title, route('page', $page->id)); });
|
路由也需要一定的操作,这里文档没有特别提出.这里需要定义路由时要命名路由要不然就会出错.
1 2 3 4 5 6 7 8
| Route::get('home',['as'=>'home',function(){ return view('home'); }]);
Route::get('blog',['as'=>'blog',function(){ return view('blog'); }]);
|
在模版中使用
1 2
| $ php artisan vendor:publish //生成 config/breadcrumbs.php 配置文件
|
这里可以配置模版文件,也就是面包屑样子.可以自定义,也可以使用插件写好的样子.文件像这样.
1
| 'view' => 'breadcrumbs::bootstrap3',
|
然后在模版文件添加代码
1 2 3 4
| <link href="http://cdn.bootcss.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet"> <script src="http://cdn.bootcss.com/jquery/2.2.3/jquery.min.js"></script> <script src="http://cdn.bootcss.com/bootstrap/3.3.6/js/bootstrap.min.js"></script> {!! Breadcrumbs::render('blog') !!}
|
自带模版是拿bootstrap写的,所以要加入bootstrap样式,要不该看不到样子了
好了,简单使用就这些了,更多用法看文档吧,文档很详细的.