ウィジェットを別のページに含めて、このサブテンプレートで定義された関連スクリプトをページの最後に自動的に追加し、複数のインクルードを実行する必要がないようにしたいと考えています。
block
含まれているサブテンプレートでa を使用し、 base.html.twigで定義されているブロックにスクリプトを追加して、これらのスクリプトがページの最後に読み込まれるようにしました。
base.html.twigには
<html><body>
<div>{% block content %}{% endblock %}</div>
<aside>{% block aside %}{% endblock %}</aside>
...
{% block javascripts %}
<script src="..."></script>
<script src="..."></script>
...
{% endblock %}
{% block widgetInlineScript %}{% endblock %}
</body></html>
base.html.twigを拡張し、そのように見えるテンプレート profile.html.twigがあります。
{% extends '::base.html.twig' %}
{% block content %}
...
{% endblock %}
{% block aside %}{% include 'ApplicationRcBundle:include:promo/adSpace_topRight.html.twig' %}{% endblock %}
include/widget.html.twigでは{% block javascripts %}{{ parent() }} ...
、それ自体は何も拡張しないため使用できませparent()
んでした。代わりに、特定のブロックを使用しました。
{% block widgetInlineScript %}
<script type="text/javascript" id="widgetInlineScript" >
...
</script>
{% endblock %}
{% block widgetInlineScript %}
Twig はテンプレートを適切にコンパイルしますが、ページの最後ではなくウィジェットの直後にスクリプトを DOM にレンダリングします。
block
含まれているサブテンプレート内でa を使用することは可能ですか? ありがとう