jameron / breadcrumbs by Jameron

Breadcrumb builder for Laravel and PHP applications.
27
0
2
Package Data
Maintainer Username: Jameron
Maintainer Contact: cammac1984@gmail.com (Cameron Macfarlane)
Package Create Date: 2017-07-11
Package Last Update: 2017-09-07
Home Page:
Language: PHP
License: MIT
Last Refreshed: 2024-04-26 03:10:48
Package Statistics
Total Downloads: 27
Monthly Downloads: 0
Daily Downloads: 0
Total Stars: 0
Total Watchers: 2
Total Forks: 0
Total Open Issues: 0

Breadcrumb

I wrote this to use in Laravel applications, but kept it loosely coupled so it can be used in any PHP application. The example view file uses blade template syntax but can easily be translated to straight up php or other templating engine.

To use within Laravel:

To install run:

composer require jameron/breadcrumbs

Add to config/app.php

add the service provider:

'providers' => [
    // ...
    Jameron\Breadcrumb\Providers\BreadcrumbServiceProvider::class,
],

add the facade to the aliases:

'aliases' => [
    // ...
    'Breadcrumb' => Jameron\Breadcrumb\Breadcrumb::class,
],

In your controller:

use Breadcrumb;
use Illuminate\Http\Request;

class ResourceController extends Controller
{

    protected $home_route;

    public function __construct()
    {
        $this->home_route = ['title'=>'home','url'=>'/home'];
    }

    public function index(Request $request)
    {

        $breadcrumb = (new Breadcrumb($request->path(), $this->home_route))->build();

        return view('resource.index', compact('breadcrumb'));

    }
}

Include the view partial into your layout or view file where you want the breadcrumb to appear.

E.g. @include('partials.utils.breadcrumb', ['items' => $breadcrumb])

in your breadcrumb partial add the following:

<ol class="breadcrumb">
    @foreach($crumbs as $item)
        <li>@if(!$item['active'])<a href="{!! $item['url'] !!}"@if($item['active']) class="active"@endif>@endif{!! $item['title'] !!}@if(!$item['active'])</a>@endif</li>
    @endforeach
</ol>

License

This breadcrumb is open-sourced software licensed under the MIT license.