Hi, my name is David Carr and I'm a PHP Developer.

Blog Archives Categories Authors About Me Open Source Books Contact Me

Sponsor Me

Help support the blog so that I can continue creating new content!

My Latest Book

Laravel: The Modular way

Learn how to build modular applications with Laravel Find out more

Build a Dropbox File Manager in Laravel - Part 2 Breadcrumbs

Laravel Framework | PHP & MySQL | Tutorials

David Carr

Build a Dropbox File Manager in Laravel - Part 2 Breadcrumbs


It's good that any folder on Dropbox can be accessed but it would be even better if we had a dynamic breadcrumb to allow you to jump back to any folder in the path, Let's add this!

Open FileManagerController.php and go to the Index method.

Add this snippet:

$breadcrumb = '';
$last_segment = '';
$breadcrumb.= '<ol class="breadcrumb">';
foreach (request()->segments() as $segment) {
    $last_segment .= '/' . $segment;
    $breadcrumb.= '<li class="breadcrumb-item"><a href="'.$last_segment.'">' . ucfirst($segment) . '</a></li>';
$breadcrumb.= '</ol>';

Let's go though what this code does.

First create the variables $breadcrumb and $last_segment.
The $breadcrumb will hold an orderd list with a class of breadcrumb. This is a standard bootstrap class to take care of the styling.

Next loop over request()->segments() this will containing an array of all the URL parts seperated from the slashes.
Upon each loop add the precedding slash to the $segment and add that to the a link. the $last_segment will contain the url for each folder path.

Pass the $breadcrumb to the view:

 return view('filemanager.index', compact('results', 'breadcrumb'));

Then display where you want the breadcrumbs to display:

{!! $breadcrumb !!}


Copyright © 2009 - 2022 David Carr. All code MIT license. All rights reserved.