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->parent(‘home’);
$breadcrumbs->push(‘リスト’, url(‘list’));
});
↓のルーティングに対応
Route::get(‘/list’, ‘〜Controller@list’)->name(‘list’);
結果
HOME / リスト
パラメータ例1
$param = [1, ‘laravel’];
パラメータ例2
$param = => ‘?param1=1¶m2=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’);
パラメータ例1
$param = [1, ‘laravel’];
パラメータ例2
$param = => ‘?param1=1¶m2=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’])));
});
表示
{{ Breadcrumbs::render(‘home’) }}
※list.blade.php
{{ Breadcrumbs::render(‘list’) }}
@php
$param = => ‘?param1=1¶m2=2’;
@endphp
{{ Breadcrumbs::render(‘list’ $param) }}
※input.blade.php
{{ Breadcrumbs::render(‘input’) }}
@yield(‘breadcrumbs’)
@yield(‘content’)
※home.blade.php
@section(‘breadcrumbs’, Breadcrumbs::render(‘home’))
※list.blade.php
@section(‘breadcrumbs’, Breadcrumbs::render(‘list’))
@php
$param = => ‘?param1=1¶m2=2’;
@endphp
@section(‘breadcrumbs’, Breadcrumbs::render(‘list’ $param))
※input.blade.php
@section(‘breadcrumbs’, Breadcrumbs::render(‘input’))