Simple Laravel Breadcrumb
- Set breadcrumb repository from github.com (file
composer.json
):
"repositories": [
{
"type": "vcs",
"url": "git@github.com:impactaweb/laravel-breadcrumb.git"
}
]
-
Run
composer require impactaweb/laravel-breadcrumb
-
Add
Impactaweb\Breadcrumb\ServiceProvider::class
to your provider list on/config/app.php
.
<?php
Breadcrumb::push("Admin", "admin.index");
Breadcrumb::push("Users", "/admin/users", false);
Breadcrumb::pushArray([
// same as ["Title", route('route.name'), false]:
["Title", "route.name"],
["Users", "/admin/users", false]
]);
Add Breadcrumb to your alias list (config/app.php
):
// (...)
'Breadcrumb' => Impactaweb\Breadcrumb\Breadcrumb::class,
// (...)
Call Breadcrumb
in your view:
{!! Breadcrumb::getHtml() !!}
Create a /config/breadcrumb.php file with the following code:
<?php
return [
'view' => 'path.to.your.blade.view'
]
The variable $items
will have "title"
and "url"
list:
@foreach ($items as $item)
<a href="{{ $item['url'] }}">{{ $item['title'] }}</a>
@endforeach
Create a function with the group name.
For example, the route admin.something.users
(/admin/something/users
) could be implemented like this:
use Impactaweb\Breadcrumb\Breadcrumb;
class MyBreadcrumb extends Breadcrumb {
public function admin()
{
$this->add("Admin", 'admin.index');
}
public function something($parameters)
{
// Do something with
// $parameters variable
// ...
$url = "/fixed/ur/to/something";
// false means: do not use route() function
$this->add("Something", $url, false);
}
}
// Call:
MyBreadcrumb::push("Users", "users");