Le 17/06/2011 13:23, Sylvain > Com-Océan a écrit :
Hi,
I understand how the concept of "traits" aka "Horizontal Reuse
<http://www.twig-project.org/doc/templates.html#horizontal-reuse>"
introduced in Twig 1.1
Is it possible to embed a controller with twig and having the same
features ?
In fact I have a template which embed a controller.
This controller render an action having javascripts.
The good way is to display the javascript at the end of the html body.
To do that as described in SF2 doc, I have a "javascripts" twig block
at the end of my layout.html.twig (just before </body>
But I can't manage to add javascript code to this block from the embed
controller template.
If there was no embed controller but an embed template I would do :
Layout template:
[...]
{% block content %}
{% endblock %}
[...]
{% block javascripts %}
//main javascripts code
{% endblock %}
Controller template :
{% extends 'ComOceanIntranetBundle::layout.html.twig' %}
[...]
{% block content %}
{% render "MyBundle:myEmbedController:myAction" with
myembed_javascripts %}
{% endblock %}
[...]
{% block javascripts %}
{{ parent() }}
// my controller/action javascripts code
{{ block('myembed_javascripts') }}
{% endblock %}
myEmbedController template :
[...]
{% block myembed_javascripts %}
//my embed controller/action javascripts code
{% endblock %}
This doesn't work because render seems to have "include" behavior and
not "use" behavior.
Then how to add javascripts to the layout from myEmbedController
template in that situation ?
Is it possible or it need a concept of Embed controller Horizontal Reuse ?
Thanks a lot,
{% render %} puts the content of the response of the subrequest in the
place where the tag is used. There is no way to use a block from the
subrequest in the main request (or the opposite) as you are not sending
a content, not a template and a context. Think that the subrequest could
use another themplating engine, or no template at all. And when using
ESI, it is not rendered at all during the request but an ESI tag is
rendered instead and the corresponding request is done by the proxy cache.
--
Christophe | Stof
--
If you want to report a vulnerability issue on symfony, please send it to
security at symfony-project.com
You received this message because you are subscribed to the Google
Groups "symfony developers" group.
To post to this group, send email to symfony-devs@googlegroups.com
To unsubscribe from this group, send email to
symfony-devs+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/symfony-devs?hl=en