Twig:使用 extends 在页脚中添加内容使扩展代码出现两次
Twig: add content in the footer using extends makes extended code appear twice
据我了解,通过使用 twig 的 extends
方法,应该可以 到 将代码添加到页脚 来自在模板中 anywhere else.
就像我们呈现主页并在模板 edit_form.html.twig
中有一个 <form>
并且我们知道我们需要特殊的 javascript 在这里(仅用于该表单)所以我们决定在页面末尾的页脚中添加此 javascript 标记,如下所示:
edit_form.html.twig
{% block edit_form %}
<form id="editForm">
<!-- form html here -->
</form>
{% endblock edit_form %}
{{ include('edit_form_js.html.twig') }}
我们希望 javascript 位于页面末尾:
edit_form_js.html.twig
{% extends "footer.html.twig" %}
{% block js %}
{{ parent() }}
<script>
// special js code only needed for the <form>
</script>
{% endblock js %}
footer.html.twig
{% block js %}
<script src="jquery.js"></script>
{% endblock js %}
但是这样做不会在 末尾添加自定义 表单 javascript jquery 包含 但导致 block js
在页面上 两次 (在表单之后和页脚中)
我对树枝的理解extends
错了吗?
问:有什么方法可以从任意位置向页脚添加代码吗?
包含的模板不知道从中调用它的模板的任何信息。对于包含的模板,不能从该模板更改块。您可能想看看 deferred extension
据我了解,通过使用 twig 的 extends
方法,应该可以 到 将代码添加到页脚 来自在模板中 anywhere else.
就像我们呈现主页并在模板 edit_form.html.twig
中有一个 <form>
并且我们知道我们需要特殊的 javascript 在这里(仅用于该表单)所以我们决定在页面末尾的页脚中添加此 javascript 标记,如下所示:
edit_form.html.twig
{% block edit_form %}
<form id="editForm">
<!-- form html here -->
</form>
{% endblock edit_form %}
{{ include('edit_form_js.html.twig') }}
我们希望 javascript 位于页面末尾:
edit_form_js.html.twig
{% extends "footer.html.twig" %}
{% block js %}
{{ parent() }}
<script>
// special js code only needed for the <form>
</script>
{% endblock js %}
footer.html.twig
{% block js %}
<script src="jquery.js"></script>
{% endblock js %}
但是这样做不会在 末尾添加自定义 表单 javascript jquery 包含 但导致 block js
在页面上 两次 (在表单之后和页脚中)
我对树枝的理解extends
错了吗?
问:有什么方法可以从任意位置向页脚添加代码吗?
包含的模板不知道从中调用它的模板的任何信息。对于包含的模板,不能从该模板更改块。您可能想看看 deferred extension