J'apprends le cadre de Laravel et j'essaie de vous familiariser avec l'utilisation du moteur de lame de lame. Cependant, je ne peux pas pour la vie de moi obtenir la fonctionnalité @extends et @section pour travailler au sein de mon projet.
J'ai déjà essayé de réinstaller plusieurs fois à plusieurs reprises, en utilisant différents navigateurs et à redémarrer ma machine, mais je ne peux pas comprendre pourquoi il ne pas 'T Affiche le contenu @section P>
Version Laravel: 5.7.28 | IDE: phpstorm p>
itinéraires / web.php p> vues / mises en page / index.blade.php p> Vues / Header.Blade.php P> @extends('layouts.index')
@section('header')
<p>Header</p>
@endsection
4 Réponses :
Ce n'est pas la façon dont la templature fonctionne. Vous devez faire référence au modèle enfant dans votre déclaration de retour. Étant donné que le Si vous voulez juste que l'en-tête soit affiché sur chaque page, vous n'avez pas besoin d'étendre la mise en page principale de votre en-tête, vous devriez simplement Inclure la partie d'en-tête de votre mise en page principale. P> @extends code> est dans ce modèle enfant, Laravel sait utiliser la disposition principale mentionnée. Donc, votre déclaration de retour serait comme:
<body>
<div class="container-fluid">
<h1>Site Index</h1>
@include('header')
</div>
</body>
J'ai testé la vue et la mise en page qu'ils semblent travailler. Vérifiez votre déclaration de retour du contrôleur. Essayez Vue de retour ('Header') CODE>;
Route::get('/', function () {
return view('header');
});
Merci à tous pour vos réponses, je comprends maintenant comment le moteur de modèle de lame fonctionne un peu mieux et comment je faisais cela mal. Juste pour des éclaircissements pour d'autres personnes qui se confondent comme moi et rencontrent ce fil:
Lorsque vous redirigez vers une vue via les itinéraires Web, il doit s'agir d'un enfant qui s'étend d'un maître de dispositions. P> < p> routes / web.php p> Le HTML du fichier maître sera ensuite affiché par défaut et son contenu que nous "visualisant" p> Vues / mises en page / maître.blade.php p> fonctionner avec le contenu de la page, c'est la vue d'index qui fonctionne avec l'utilisation de @section ("Contenu" ) méthode. p> vues / index.blade.blade.php p> J'espère que cela aide quelqu'un d'autre. P> P>
If you want to show content of section('header') then you must return header view like Route::get('/', function () { return view('header'); }); this is because contents are in header view and you have been extending layout.index so if you return layout.index view you will not see content of section('header')
Êtes-vous sûr que dans votre parcours de la route fonctionne?
@ D.Khumoyun im à peu près sûr parce que la balise H1 est affichée à la vue, tout le contenu étant prolongé.