So verwenden Sie ein Blade-Partial in einer Vorlage

8

Ich würde gerne in der Lage sein, einige Male in einer Ansicht wiederholt zu werden, mit unterschiedlichem Inhalt in jeder Wiederholung.

Das Partielle ist ein einfaches Panel mit einer Überschrift und etwas Inhalt. Der Inhalt in jedem Panel kann unterschiedlich komplex sein. Daher würde ich gerne die Methode @section('content') verwenden, um Daten zu übergeben.

Die Einrichtung, die ich habe, ist wie folgt:

panel.blade.php - Das Teil, das wiederholt werden soll.

%Vor%

view.blade.php - Die Ansicht, in der das Partial wiederholt wird

%Vor%

Ich stoße auf das gleiche Problem: Ссылка

Das erste Feld wird wie beabsichtigt angezeigt, das zweite jedoch ist nur eine Wiederholung des ersten.

Wie kann ich das korrigieren? Wenn dies eine schlechte Methode ist, dies zu tun, was wäre ein besserer Weg?

    
tahlo 17.09.2013, 03:19
quelle

1 Antwort

10

Für Laravel 5.4, Komponenten & amp; Slots können für Sie nützlich sein. Die folgende Lösung ist für Laravel 4.x und wahrscheinlich auch & lt; = 5.3.

Meiner Meinung nach ist dies ein dummer Anwendungsfall für die @include -Syntax. Die Menge an HTML-Einträgen, die Sie speichern, ist vernachlässigbar, vor allem, da der einzige potentiell komplizierte Teil der Inhalt inner ist. Denken Sie daran, je mehr Parsing durchgeführt werden muss, desto mehr Aufwand hat Ihre Anwendung.

Ich kenne auch nicht die inneren Abläufe von @yield & amp; @section features, also kann ich nicht sagen, wie "richtig" es ist, deine Includes auf diese Weise zu bearbeiten. Beinhaltet typischerweise einen Schlüssel = & gt; Wertpaar, das als Parameter im Include-Aufruf übergeben wurde:

%Vor%

Nicht der ideale Ort, um eine Menge HTML zu packen, aber das ist der "designte" Weg (zumindest soweit ich weiß).

Das sagte ...

Verwenden Sie die @section ... @overwrite -Syntax, die im "Andere Kontrollstrukturen" -Teil erwähnt wird der Vorlagen-Dokumentseite.

%Vor%     
Aken Roberts 17.09.2013 06:15
quelle

Tags und Links