2015-02-09 9 views

risposta

2

È difficile. Il problema è che il composer della vista viene attivato dopo che il controller ha restituito la vista. Tuttavia è possibile controllare all'interno del compositore vista se il valore è stato impostato:

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

E quando si vuole "ignorare" il default nel controllore:

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

Nel vostro controller che si può usare qualcosa in questo modo:

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

Ciò restituirà la resa (compositore ha già) View allora si può impostare il valore nella variabile con qualcosa di simile:

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

poi tornare alla visualizzazione come:

return $view; 
+0

Sembra che il compositore stia ancora eseguendo e sovrascrivendo i valori –

Problemi correlati