Capisco che l'utilizzo di {% render() %}
imponga automaticamente l'invio di un nuovo oggetto di richiesta, ma sono curioso se c'è un modo per passare la richiesta di origine come argomento?Symfony2: in Twig, passa la richiesta con la funzione Render
{% render('some_action', {'originalRequest': app.request}) %}
Questo non sembra di fare nulla per il controller:
public function actionAction($originalRequest = null)
{
// $originalRequest ends up just being null
}
Im assumendo la sua a causa del modo in cui il percorso è di impostazione:
some_action:
pattern: /stuff/
defaults: { _controller:SomeApp:Controller:action }
mi immagino i dati come che non può ovviamente essere parte dell'URL, quindi un certo tipo di modo per passare i dati a un URL renderizzabile, qualcosa del tutto?
EDIT (Soluzione)
La soluzione è stata abbastanza semplice, a lungo termine, come Petre Patrasc seguito ha dimostrato, che in Ramoscello, tutto quello che dovevo fare era richiamare direttamente il controller, e con questo approccio Posso passare oggetti (come un oggetto Request) e array, invece di valori di testo in un URL.
Per eseguire approssimativamente la stessa idea in un controller, l'utilizzo del metodo forward()
dal router consente effetti simili senza dover reindirizzare l'utente a un'altra pagina.
ho finalmente sono imbattuto mia risposta solo come hai postato questo haha questo era il biglietto però! Non usare il router, basta invocare direttamente il controller – RedactedProfile
Sono curioso, stai parlando di usare forward() o in altro modo? Sarebbe bello aggiornare la domanda originale con la tua soluzione, in quanto potrebbe essere un caso limite e aiutare qualcuno! –
Twig lancia appena una richiesta di errore durante il tentativo di questo – skerit