Laravel Klinge - mehrere Layouts?

8

Ich habe Schwierigkeiten, meinen Kopf um Laravels Blade Layouts zu bekommen.

Alle Beispiele und Dokumentationen im Internet (zB Laravel Dokumentation: Ссылка oder Video Tutorials auf youtube) benutzen nur eins master.blade.php als Layout.

Gibt es eine Best Practice für komplexere Projekte?

Die folgenden Inhaltstypen sind in meinem Projekt enthalten:

  • Produkt
  • Kategorie
  • Blog
  • Taxonomie
  • Zuhause
  • administrative
  • login / auth

Alle diese Inhaltstypen haben unterschiedliche Layouts:

  • anders / keine Seitenleiste
  • Seitenleiste links / rechts
  • andere Kopfzeile
  • nein / Banner vor Inhalt
  • anderes / kein Menü
  • anders / kein Breadcrumb

Also ich weiß nicht in welcher Situation ...

  1. erstelle eine neue Layoutdatei (zB /views/layouts/product.blade.php) und erweitere sie auf meiner Seite (in /views/pages/product.blade.php mit @extens ("layouts.product"))

... oder ...

  1. Verwenden Sie nur eine Layoutdatei, die alle unterschiedlichen Typen enthält, und implementieren Sie sie als Abschnitte in der Auslagerungsdatei jedes Typs.

Dieser hier macht mich verrückt und ich konnte nichts Wertvolles finden, wie eine Best Practice, ob ich Layouts verwenden soll oder nicht.

Vielen Dank für Ihre Hilfe!

    
SeKra 19.09.2016, 12:07
quelle

2 Antworten

5

Eine Layout-Struktur kann leicht zu einem Chaos werden, deshalb wird dringend empfohlen, Layouts und Partitionen in einer intuitiven Ordnerstruktur zu organisieren. Auf diese Weise stellen Sie sicher, dass Ihre App in der Zukunft sauber und organisiert bleibt, wenn sie wächst. Es hängt auch davon ab, an welchem ​​Projekt Sie arbeiten. Ob Sie es glauben oder nicht, manchmal variiert die Ordnerstruktur von Projekt zu Projekt.

Soweit ich weiß, gibt es keine "Best Practices", wie man einen Layout-Ordner für Laravel organisiert, aber hier ist ein Beispiel, wie ich meine Projekte organisiere (und für alle meine Laravel-Apps da draußen funktioniert) ):

%Vor%

Das Wichtigste, was ich hier erwähnen soll, ist, dass ich in meinem Views-Verzeichnis einen Ordner für jede Route erstelle, die ich in meiner App habe.

Ich glaube auch, dass es wichtig ist, als Elternordner die Version der Benutzeroberfläche der Webanwendung zu haben. Manchmal, wenn die Benutzeroberfläche neu erstellt wird, tendiert man dazu, die Dateien nur unter den gleichen Verzeichnissen zu speichern, was langfristig nicht gut ist, da man am Ende ein Meer von Dateien für verschiedene Versionen der Website im selben Ordner haben wird.

Hoffentlich hilft das!

Prost und viel Glück!

    
idelara 19.09.2016 12:58
quelle
3

Gute Praxis ist ein Master-Layout zu erweitern und dann verwenden @include und @each enthält Sidebar, Footer, Header, Banner-Ansicht usw. Das funktioniert perfekt, auch für wirklich große Projekte. Manchmal möchten Sie @if operator für bedingte Includes verwenden:

%Vor%     
Alexey Mezenin 19.09.2016 12:29
quelle

Tags und Links