J'ai layouts.app.blade.php où j'ai mes balises <html>
et <body>
ainsi que le <nav>
.
Dans le <body>
, je donne du contenu pour chaque page, donc ils étendent ce app.blade.php.
Toutes les choses basiques Laravel alors maintenant, j'ai ceci:
<div class="navbar-header">
<!-- Collapsed Hamburger -->
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#spark-navbar-collapse">
<span class="sr-only">Toggle Navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<!-- Branding Image -->
<a class="navbar-brand" href="/">
*Dynamic page title*
</a>
</div>
// ...
@yield('content')
Et j'aimerais utiliser ce <a class="navbar-brand">
pour afficher mon titre. Cela signifie donc que cela doit changer pour chaque modèle chargé (avec @yield ('content')) dans ce 'parent.blade.php'.
Comment pourrais-je faire cela avec Laravel 5.2?
Merci beaucoup
S'il s'agit du titre de votre page maître ci-dessous
<html>
<head>
<title>App Name - @yield('title')</title>
</head>
<body>
@section('sidebar')
This is the master sidebar.
@show
<div class="container">
@yield('content')
</div>
</body>
alors le titre de votre page peut être changé dans votre page de lame comme ci-dessous
@extends('layouts.master')
@section('title', 'Page Title')
@section('sidebar')
@parent
<p>This is appended to the master sidebar.</p>
@endsection
@section('content')
<p>This is my body content.</p>
@endsection
Plus d'informations peuvent être trouvées ici Laravel Docs
Vous pouvez le transmettre à une vue par exemple
Manette
$title = 'Welcome';
return view('welcome', compact('title'));
Vue
isset($title) ? $title : 'title';
ou php7
$title ?? 'title';
Voir la lame comme ceci-
return view('front.list',compact('artists','letter'));
au lieu de-
return view('front.list',compact('artists'));
Et maintenant, à votre avis, vous pouvez utiliser:
<title>Artists begging with {{ $letter }}</title>