laravel-breadcrumbs
Basic Usage
Outputting Breadcrumbs
On this page
{note} laravel-breadcrumbs has been archived and is no longer maintained. Use caution when installing in your apps.
{note} You're browsing the documentation for an old version of laravel-breadcrumbs. Consider upgrading your project to v4. Check your version with the following command:
`composer show rawilk/laravel-breadcrumbs`
Introduction
Call Breadcrumbs::render()
in the view for each page, passing it the name of the breadcrumb to use an any additional parameters.
With Blade
In the page (e.g. resources/views/home.blade.php
):
{!! Breadcrumbs::render('home') !!}
Or with a parameter:
{!! Breadcrumbs::render('category', $category) !!}
With Blade Layouts and @section
In the page (e.g. resources/views/home.blade.php
):
@extends('layouts.master')
@section('breadcrumbs')
{!! Breadcrumbs::render('home') !!}
@endsection
Or using the shorthand syntax:
@extends('layouts.master')
@section('breadcrumbs', Breadcrumbs::render('home'))
And in the layout file (e.g. resources/views/layouts/master.blade.php
):
@yield('breadcrumbs')
Pure PHP (without Blade)
In the page (e.g. resources/views/home.php
):
<?php echo Breadcrumbs::render('home'); ?>
Structured Data
To render breadcrumbs as JSON-LD structured data (usually for SEO reasons),
use Breadcrumbs::view()
to render the breadcrumbs::json-ld
template in addition to the normal one. For example:
<html>
<head>
...
{!! Breadcrumbs::view('breadcrumbs::json-ld', 'category', $category) !!}
...
</head>
<body>
...
{!! Breadcrumbs::render('category', $category) !!}
...
</body>
</html>
{note} If you use Laravel Page Speed you may need to disable the
TrimUrls
middleware.
To specify an image, add it to the $data
parameter in push()
:
Breadcrumbs::for('post', function (Generator $trail, $post) {
$trail->parent('home')
->push($post->title, route('post', $post), ['image' => asset($post->image)]);
});
If you prefer to use Microdata or RDFa, you will need to create a custom template.