2016-06-11 11 views
0

In Blade können Sie Stapel erstellen. Im Folgenden finden Sie weitere Informationen:Blade - Wie fügt man Elemente an den Anfang eines Stapels in einer Blade-Vorlage an?

https://laravel.com/docs/5.2/blade#stacks

jedoch nur der obige Link zeigt, wie Elemente des Stapels bis zum Ende drücken. Ich möchte ein Element an den Anfang des Stapels anhängen. Wie kann ich das machen?

z.B.

@push('foo')pizza @endpush 
@push('foo')like @endpush 
@push('foo')I @endpush 
@stack('foo') 

Ausgänge:

pizza like I 

ich möchte es Ausgabe:

I like pizza 
+0

Ich denke, sie sind nur zum Gruppieren von Ansichten gedacht, für Array-Werte gleichermaßen wäre es besser mit Array_pop – Cristo

Antwort

1

Das ist etwas, was ich nicht tun würde empfehlen, weil dies der Weg Laravel gebaut ist.

Aber wenn Sie aus irgendeinem Grund so viel brauchen und Sie keine andere Möglichkeit sehen, es zu erreichen, können Sie das Framework selbst optimieren. Die Datei Factory.php befindet sich in Illuminate\View. dort haben Sie eine Funktion extendPush() und Sie können die „Anhang“ Methode ändern, indem Sie die Zeile ersetzt genannt:

$this->pushes[$section][$this->renderCount] .= $content; 

mit diesem:

$this->pushes[$section][$this->renderCount] = $content . $this->pushes[$section][$this->renderCount]; 

in der letzten else-Anweisung.

Noch einmal, ich würde nicht empfehlen, das Framework zu optimieren, aber wenn es für Ihr Projekt so wichtig ist, kann ich Ihnen das anbieten.