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 :
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: 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
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>
template AcmeBundle: Default: flush2.html.twig
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>
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

Nota : je ne veux pas de solution ajax.

Merci pour votre aide,
Gilles