我知道如何访问我的资产,但我想创建一个使用Javascript和Twig的模板,这将允许我在脚本中使用Twig变量。
例如,我有一个名为"details.html.trick"的模板,它扩展了"layout.html.tritch":
{% extends '@AcmeBundle/Front/layout.html.twig %}
{# SOME CODE AND CONTENT #}
{% block page_script %}
{{ parent() }}
<script>
{# Part of my script #}
</script>
{% endblock page_script %}
所有这些都运行得很好,但为了能够重用一些js代码(使用trick变量),我剪切了脚本的一些部分,并将其放入一个外部模板中,名为"viewer.html.titch"。为了能够在我的"details.html.trick"中使用它,我使用了:
{% include '@AcmeBundle/Front/Model/viewer.html.twig' %}
我把这一行放在{parent()}之后,<script>
标记之前。然而,我的脚本过去是直接写在"细节"模板中的,现在似乎被忽视了。
如果你们中的任何人都能知道是什么让我的模板被包含但被跳过,或者有一种更容易或正确地包含模板的方法,我愿意接受各种各样的观察。
G'day,Jérémy
如果您编写的文件只包含javascript,则应将文件命名为:
{% include '@AcmeBundle/Front/Model/viewer.js.twig' %}
然后Twig(截至1.17)会根据扩展自动定义其逃跑策略。
请参阅twitch文档和symfony中js-titch文件的示例。