Bonjour,
J'aimerais savoir si il est possible d'écrire une partie du flux HTML, avant d'envoyer le reste.
Voila ce que j'ai fait :
Controleur :
template AcmeBundle: Default: flush1.html.twig
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 class DefaultController extends Controller { public function flush1Action() { return $this->render('AcmeBundle:Default:flush1.html.twig'); } public function flush2Action() { sleep(10); //pour simuler une réponse longue du serveur return $this->render('AcmeBundle:Default:flush2.html.twig'); }
template AcmeBundle: Default: flush2.html.twig
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <html> <body> <h1>Flush 1</h1> <p> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean a eros quis sapien scelerisque varius nec in urna. </p> {% flush %} {{ render(controller('PjTestBundle: Default: flush2')) }} </body> </html>
Je pensais que le {% flush %} de twig permettrait d'afficher le contenu de flush1.twig.html, pendant que le controleur attend la réponse de flush2Action(), mais ca ne fonctionne pa comme prévu
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5<h1>Flush 2</h1> <p> In convallis orci vitae cursus vehicula. Pellentesque elementum nisl eget turpis pellentesque varius. </p>
Nota : je ne veux pas de solution ajax.
Merci pour votre aide,
Gilles
Partager