假设我有一个这样的基本模板:
// Default/index.html.twig
{% block javascripts %}
<script>//some script</script>
{% endblock %}
<div>
{{ render(controller(MyControllerBundle:Default:header)) }}
</div>
{{ text }}
<div>
{{ render(controller(MyControllerBundle:Default:footer)) }}
</div>
这使得控制器具有这些模板:
// Default/header.html.twig
Header content
{% block javascripts %}
<script>//some additional scripts from the header</script>
{% endblock %}
和
// Default/footer.html.twig
Footer content
{% block javascripts %}
<script>//some additional scripts from the footer</script>
{% endblock %}
是否有可能以某种方式使用父模板中呈现的子控制器中的 javascripts 块?我希望将所有 javascripts 累积在一个地方。
使用扩展自下而上渲染在这里不是选项,因为模板由多个由不同控制器渲染的块组成。
这有可能吗?或者有更好的方法吗?