次のような基本テンプレートがあるとします。
// 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ブロックを使用することは何とか可能ですか? すべての JavaScript を 1 か所にまとめたいと考えています。
テンプレートは、異なるコントローラーによってレンダリングされる複数のブロックで構成されているため、ここでは拡張を伴うボトムアップ レンダリングはオプションではありません。
これはどういうわけか可能ですか?または、これに対するより良いアプローチはありますか?