Laravel パンくずリスト

インストール

composer require diglactic/laravel-breadcrumbs

ルーティング

ルール

※routes/breadcrumbs.php
<?php
Breadcrumbs::for(キー, function ($breadcrumbs) {
 $breadcrumbs->push(パンくず名, ルーティング);
});

TOP

Breadcrumbs::for('home', function ($breadcrumbs) {
 $breadcrumbs->push('HOME', url('home'));
});

↓のルーティングに対応
Route::get('/home', '〜Controller@index')->name('home');

LIST
Breadcrumbs::for('list', function ($breadcrumbs) {
 $breadcrumbs->parent('home');
 $breadcrumbs->push('リスト', url('list'));
});

↓のルーティングに対応
Route::get('/list', '〜Controller@list')->name('list');

結果
HOME / リスト

パラメータ例1
$param = [1, 'laravel'];

パラメータ例2
$param = => '?param1=1&param2=2'

Breadcrumbs::for('list', function ($breadcrumbs, $param) {
 $breadcrumbs->parent('home');
 $breadcrumbs->push('リスト', url('list', $param));
});

INPUT

Breadcrumbs::for('input', function ($breadcrumbs) {
 $breadcrumbs->parent('list');
 $breadcrumbs->push('登録', url('input'));
});

↓のルーティングに対応
Route::get('/input', '〜Controller@input')->name('input');

結果
HOME / リスト / 登録

パラメータ例1
$param = [1, 'laravel'];

パラメータ例2
$param = => '?param1=1&param2=2'

Breadcrumbs::for('input', function ($breadcrumbs, $param) {
 $breadcrumbs->parent('list', $param);
 $breadcrumbs->push('登録', url('input'));
});

GETパラメータを含むパンくずのURLデコード

Breadcrumbs::for('list', function ($breadcrumbs, $param) {
 $breadcrumbs->parent('home');
 $breadcrumbs->push($param['list'], urldecode(url('list', $param['url'])));
});

表示

※home.blade.php
{{ Breadcrumbs::render('home') }}

※list.blade.php
{{ Breadcrumbs::render('list') }}

@php
 $param = => '?param1=1&param2=2';
@endphp
{{ Breadcrumbs::render('list' $param) }}

※input.blade.php
{{ Breadcrumbs::render('input') }}

※〜\layouts\app.blade.php
@yield('breadcrumbs')

@yield('content')

※home.blade.php
@section('breadcrumbs', Breadcrumbs::render('home'))

※list.blade.php
@section('breadcrumbs', Breadcrumbs::render('list'))

@php
 $param = => '?param1=1&param2=2';
@endphp
@section('breadcrumbs', Breadcrumbs::render('list' $param))

※input.blade.php
@section('breadcrumbs', Breadcrumbs::render('input'))

Follow me!

次の記事

動画用語