Хлебные крошки
Для генерации хлебных крошек используется пакет diglactic/laravel-breadcrumbs
Конфиг пакета публикуется при выполнении команды rock-cms:install.
Если по какой-то причине конфига breadcrumbs.php нет, то опубликовать его можно с помощью команды:
php artisan vendor:publish --tag=breadcrumbs-config
В конфиге нужно изменить 2 параметра:
// config/breadcrumbs.php
'view' => 'breadcrumbs::bootstrap4',
'files' => glob(base_path('routes/breadcrumbs/*.php')),
Для показа хлебных крошек в новом разделе в админки нужно добавить новый файл c настройками.
// routes/breadcrumbs/posts.php
<?php
use App\Models\Post;
use Diglactic\Breadcrumbs\Breadcrumbs;
use Diglactic\Breadcrumbs\Generator as BreadcrumbTrail;
// Список новостей
Breadcrumbs::for('posts', function (BreadcrumbTrail $trail) {
$trail->parent('home');
$trail->push('Новости', route('posts.list'));
});
// Страница редактирования новости
Breadcrumbs::for('posts.edit', function (BreadcrumbTrail $trail, Post $post) {
$trail->parent('posts');
$trail->push($post->title, route('posts.edit', $post));
});
// Страница создания новой новости
Breadcrumbs::for('posts.create', function (BreadcrumbTrail $trail) {
$trail->parent('posts');
$trail->push('Новая новость');
});
Также должен быть файл для home раздела.
<?php
use Diglactic\Breadcrumbs\Breadcrumbs;
use Diglactic\Breadcrumbs\Generator as BreadcrumbTrail;
Breadcrumbs::for('home', function (BreadcrumbTrail $trail) {
$trail->push('Главная', route('home'));
});
После этого добавляем показ крошек в blade шаблонах.
// resources/views/admin/posts/list.blade.php
@section('breadcrumbs')
{{ Breadcrumbs::render('posts') }}
@stop
// resources/views/admin/posts/edit.blade.php
@section('breadcrumbs')
{{ Breadcrumbs::render('posts.edit', $model) }}
@stop
// resources/views/admin/posts/create.blade.php
@section('breadcrumbs')
{{ Breadcrumbs::render('posts.create') }}
@stop
Last updated