Laravel - 手动渲染面包屑

时间:2016-12-15 09:04:14

标签: php laravel routes laravel-5.2 breadcrumbs

我使用的是Laravel 5.2,我希望davejamesmiller使用面包屑。我已设置路由Route::resource('admin/users', '\Easyk\Controllers\Admin\UsersController');并根据文档创建了文件Http/breadcrumbs.php,其中内容为:

Breadcrumbs::register('admin.users.index', function ($breadcrumbs) {
    $breadcrumbs->push('Users', route('admin.users.index'));
});

当我尝试使用模板{!! Breadcrumbs::render() !!}时,它会毫无问题地渲染。但我想把它变成手工制作。根据文档,我创建了文件config/breadcrumbs.php,内容为:

return [
    'view' => 'partials/_breadcrumbs',
];

但是当我尝试渲染它时,没有$breadcrumbs变量:

@if(!empty($breadcrumbs))
    <ol class="breadcrumb">
    <li>{!! link_to_route('main', 'Home') !!}</li>
    @foreach($breadcrumbs as $bread)
        @if(isset($bread['url']))
            <li>{!! link_to($bread['url'], $bread['name']) !!}</li>
        @else
            <li>{!! $bread['name'] !!}</li>
        @endif
    @endforeach
    </ol>
@endif

您是否有过如何将$breadcrumbs变量添加到文件中指定的视图的经验?

1 个答案:

答案 0 :(得分:1)

我已经解决了。在布局中我需要ID然后在partials / _breadcrumbs中我会得到{!! Breadcrumbs::renderIfExists() !!}变量。如果我做对了,那么方法$breadcrumbs就像包含一样。

同样在renderIfExists()必须是点约定:

config/breadcrumbs.php