Black Friday sale is now on! 50% off Laravel: The Modular Way. Learn more

Build a Dropbox File Manager in Laravel - Part 2 Breadcrumbs

David Carr

Laravel Framework PHP & MySQL Tutorials

    Series


    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 !!}

     

    Laravel Modules Book by David Carr

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

    Subscribe to my newsletter

    Subscribe and get my books and product announcements.

    © 2009 - 2022 DC Blog. All code MIT license. All rights reserved.