web-dev-qa-db-fra.com

Laravel titre de page dynamique dans la marque navbar

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

9
nclsvh

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

24
PhillipMwaniki

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';

Opérateur de coalescence nul

0
Erik

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>
0
V.K. Singh