are one of those things that I don’t think about until I need them, and then I feel like I recreate a system for them in my application every time.

Breadcrumbs is a by Dave James Miller that makes adding breadcrumb navigation to your application (relatively) painless with a simple API:

// Home
Breadcrumbs::for('home', function ($trail) {
    $trail->push('Home', route('home'));

// Home > About
Breadcrumbs::for('about', function ($trail) {
    $trail->push('About', route('about'));

// Home > Blog
Breadcrumbs::for('blog', function ($trail) {
    $trail->push('Blog', route('blog'));

To render breadcrumbs, you can pick from the following templates that ship with the Laravel Breadcrumb package at the time of writing:

  • breadcrumbs::bootstrap4
  • breadcrumbs::bootstrap3
  • breadcrumbs::bootstrap2
  • breadcrumbs::bulma
  • breadcrumbs::foundation6
  • breadcrumbs::materialize
  • breadcrumbs::json-ld
  • The path to a custom view: e.g. partials.breadcrumbs

Depending on which template you need, you configure it as a published configuration in config/breadcrumbs.php:

    'view' => 'breadcrumbs::bootstrap4',

And finally you render the breadcrumbs in your view:

{{ Breadcrumbs::render('category', $category) }}

This package even supports JSON-LD structured data for SEO purposes which is really helpful:

    {{ Breadcrumbs::view('breadcrumbs::json-ld', 'category', $category) }}

Learn More

The Laravel Breadcrumb package is highly customizable and has a lot of documented options in the readme. You should check out the official GitHub repository for complete documentation and installation instructions.

Source link


Please enter your comment!
Please enter your name here