Les vues partielles avec Laravel

Afin de faciliter la lecture et d'optimiser la réutilisation du code, il est possible de créer une vue partielle, qui est un fichier contenant une section du code.

▼Publicité

Les vues partielles sont placées dans le dossier resources\views\partials.

Par exemple, on pourrait choisir de placer le menu dans son propre fichier :

Fichier menu.blade.php (Blade)

<nav id="menuprincipal" class="navbar navbar-default navbar-fixed-top">

    <div class="container">

        <div class="navbar-header">

            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar">

                <span class="sr-only">Menu</span>

                <span class="icon-bar"></span>

                <span class="icon-bar"></span>

                <span class="icon-bar"></span>

            </button>

        </div>            

        <div id="navbar" class="collapse navbar-collapse">

            <ul class="nav navbar-nav">                

                <li class="active"><a href="#">Accueil</a></li>

                <li class="dropdown">

                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">menu 1 <span class="caret"></span></a>

                    <ul class="dropdown-menu">

                        <li><a href="#">sous-menu 1a</a></li>

                        <li><a href="#">sous-menu 1b</a></li>

                        <li><a href="#">sous-menu 1c</a></li>

                    </ul>

                </li>                

                ...

            </ul>

        </div>

    </div>

</nav>    

Les vues pourront utiliser cette vue partielles grâce à la directive @include. Dans cet exemple, c'est le gabarit principal du site qui utilisera la vue partielle :

Fichier app.blade.php (Blade)

@include('partials.menu')

Pour plus d'information

« Blade Templates - Including Sub-Views ». Laravel. https://laravel.com/docs/master/blade#including-sub-views

Merci de partager ! Share on FacebookTweet about this on TwitterShare on Google+Share on LinkedInPin on PinterestShare on StumbleUponEmail this to someone
Catégories