我想在不同的页面中包含一个小部件,并且在此子模板中定义的相关脚本与其他脚本一起在页面末尾自动发生,而无需执行多个包含。
我尝试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 %}
Twig 可以很好地编译模板,但在 DOM 中仅在小部件之后呈现脚本,而不是{% block widgetInlineScript %}
在页面末尾呈现它。
那么是否可以block
在包含的子模板中使用 a ?谢谢