Hi, today we will discuss about how to implement Breadcrumbs in Laravel 5.1.
1. Install Laravel Breadcrumbs
Note:-Laravel 5.0 or above is required – use the 2.x version for Laravel 4.
Install with Composer
Run this at the command line:
$ composer require davejamesmiller/laravel-breadcrumbs
This will both update composer.json and install the package into the vendor/ directory.
Add to config/app.php
Add the service provider to providers:
'providers' => [
// ...
DaveJamesMiller\Breadcrumbs\ServiceProvider::class,
],
And add the facade to aliases:
'aliases' => [
// ...
'Breadcrumbs' => DaveJamesMiller\Breadcrumbs\Facade::class,
],
2. Define your breadcrumbs
Create a file called app/Http/breadcrumbs.php that looks like this:
<?php
// Home
Breadcrumbs::register('home', function($breadcrumbs)
{
$breadcrumbs->push('Home', route('home'));
});
// Home > About
Breadcrumbs::register('about', function($breadcrumbs)
{
$breadcrumbs->parent('home');
$breadcrumbs->push('About', route('about'));
});
// Home > Blog
Breadcrumbs::register('blog', function($breadcrumbs)
{
$breadcrumbs->parent('home');
$breadcrumbs->push('Blog', route('blog'));
});
// Home > Blog > [Category]
Breadcrumbs::register('category', function($breadcrumbs, $category)
{
$breadcrumbs->parent('blog');
$breadcrumbs->push($category->title, route('category', $category->id));
});
// Home > Blog > [Category] > [Page]
Breadcrumbs::register('page', function($breadcrumbs, $page)
{
$breadcrumbs->parent('category', $page->category);
$breadcrumbs->push($page->title, route('page', $page->id));
});
3. Choose a template
By default a Bootstrap-compatible ordered list will be rendered, so if you’re using Bootstrap 3 you can skip this step.
First initialise the config file by running this command:
$ php artisan vendor:publish
Then open config/breadcrumbs.php and edit this line:
'view' => 'breadcrumbs::bootstrap3',
The possible values are:
Bootstrap 3: breadcrumbs::bootstrap3
Bootstrap 2: breadcrumbs::bootstrap2
The path to a custom view: e.g. _partials/breadcrumbs
4. Output the breadcrumbs
Finally, call Breadcrumbs::render() in the view template for each page, passing it the name of the breadcrumb to use and any additional parameters – for example:
{!! Breadcrumbs::render('home') !!}
{!! Breadcrumbs::render('category', $category) !!}
No comments:
Post a Comment