evomase/laracrumbs

A light way of adding breadcrumbs to a route in Laravel

dev-master 2017-07-24 14:54 UTC

This package is auto-updated.

Last update: 2024-03-04 18:59:23 UTC


README

Laracrumbs is a lightweight Laravel package that provides the functionality to add Breadcrumbs to Routes

Requirements

  • PHP 7.0
  • Laravel 5.4+

Installation

To get started, install Laracrumbs via Composer

composer require evomase/laracrumbs

Next, is to register the Laracrumbs service provider to the providers array of your config/app configuration file:

Laracrumbs\Providers\ServiceProvider::class

Basic Usage

Register

Breadcrumbs are created by using the registered routes and defining a callback to return the title for each segment. The following example below shows how this can be done

//Create Route
$route = Route::get('/', 'Controller@method');

//Add route to Breadcrumb
Breadcrumbs::add($route, function(){
    return 'Home';
});

All parameters assigned to a route will also be passed to the callback enabling you to customize the return value further. Also, objects in the service container are automatically injected in the callback as shown in the example below.

$route = Route::get('users/{user}/edit', 'Controller@method');
Breadcrumbs::add($route, function(App\User $user, Illuminate\Container $app){
   // return a string
});

Render

A breadcrumbs view has been added which can be included in any view template. Once included, it will automatically generate the breadcrumbs associated to the current request.

<div class="container">
    @include('laracrumbs::breadcrumbs')
</div>

A copy of the breadcrumbs views template can be found in resources\views\vendor

License

Laracrumbs is open-sourced software licensed under the MIT license