2015-02-09 3 views

Antwort

2

Das ist ein schwieriger. Das Problem besteht darin, dass der View-Composer ausgelöst wird, nachdem der Controller die Ansicht zurückgegeben hat. Jedoch Sie in dem View Composer überprüfen können, ob der Wert gesetzt wurde:

public function compose(View $view) 
{ 
    if(!$view->offsetExists('foo')){ 
     $view->with('foo', 'default'); 
    } 
} 

Und wenn Sie möchten, um den Standard in Ihrem Controller „außer Kraft setzen“:

return view('view.name')->with('foo', 'bar'); 
0

In Ihrem Controller können Sie etwas verwenden dies wie:

$view = view('view.name')->with(...); // This will trigger the composer 

Dies wird das gerenderte zurückkehren (Komponist bereits lief) View dann können Sie den Wert in die Variable so etwas wie dies mit:

$view->variablename = 'value'; // You may also check it using $view->offsetExists(...) 

Kehren Sie dann die Ansicht wie:

return $view; 
+0

Sieht so aus, als würde der Komponist die Werte immer noch ausführen und überschreiben –

Verwandte Themen