################################################################################ Getting Started ################################################################################ .. only:: html .. contents:: :local: ================================================================================ 1. Install Laravel Breadcrumbs ================================================================================ .. note:: Laravel 5.0 or above is required -- use the `2.x version `_ for Laravel 4. ---------------------------------------- Install with Composer ---------------------------------------- Run this at the command line: .. code-block:: bash $ composer require davejamesmiller/laravel-breadcrumbs This will both update ``composer.json`` and install the package into the ``vendor/`` directory. ---------------------------------------- Add to ``config/app.php`` ---------------------------------------- Add the service provider to ``providers``: .. code-block:: php 'providers' => [ // ... DaveJamesMiller\Breadcrumbs\ServiceProvider::class, ], And add the facade to ``aliases``: .. code-block:: php 'aliases' => [ // ... 'Breadcrumbs' => DaveJamesMiller\Breadcrumbs\Facade::class, ], ================================================================================ 2. Define your breadcrumbs ================================================================================ Create a file called ``routes/breadcrumbs.php`` that looks like this: .. code-block:: php push('Home', route('home')); }); // Home > About Breadcrumbs::register('about', function($breadcrumbs) { $breadcrumbs->parent('home'); $breadcrumbs->push('About', route('about')); }); // Home > Blog Breadcrumbs::register('blog', function($breadcrumbs) { $breadcrumbs->parent('home'); $breadcrumbs->push('Blog', route('blog')); }); // Home > Blog > [Category] Breadcrumbs::register('category', function($breadcrumbs, $category) { $breadcrumbs->parent('blog'); $breadcrumbs->push($category->title, route('category', $category->id)); }); // Home > Blog > [Category] > [Page] Breadcrumbs::register('page', function($breadcrumbs, $page) { $breadcrumbs->parent('category', $page->category); $breadcrumbs->push($page->title, route('page', $page->id)); }); See the :doc:`defining` section for more details. .. _choose-template: ================================================================================ 3. Choose a template ================================================================================ By default a `Bootstrap `_-compatible ordered list will be rendered, so if you're using Bootstrap 3 you can skip this step. First initialise the config file by running this command: .. code-block:: bash $ php artisan vendor:publish Then open ``config/breadcrumbs.php`` and edit this line: .. code-block:: php 'view' => 'breadcrumbs::bootstrap3', The possible values are: - `Bootstrap 3 `_: ``breadcrumbs::bootstrap3`` - `Bootstrap 2 `_: ``breadcrumbs::bootstrap2`` - The path to a custom view: e.g. ``_partials/breadcrumbs`` See the :doc:`templates` section for more details. ================================================================================ 4. Output the breadcrumbs ================================================================================ Finally, call ``Breadcrumbs::render()`` in the view template for each page, passing it the name of the breadcrumb to use and any additional parameters -- for example: .. code-block:: html+php {!! Breadcrumbs::render('home') !!} {!! Breadcrumbs::render('category', $category) !!} See the :doc:`output` section for other output options, and see :doc:`routing` for a way to link breadcrumb names to route names automatically.