TWIG-根据变量包含不同的JS资产文件



我想根据之前的变量设置在Twig模板中加载不同的JavaScript文件。

我试着做一些类似的事情:

{% set myFileToLoad = 'awesomeScript.js' %}
{% javascripts
'js/forms/' ~ myFileToLoad
%}
<script  src="{{ asset_url }}"></script>
{% endjavascripts %}

但每次我试图编辑资产名称时都会出现这个错误:

试图调用名为"的未定义方法;getFilename"类";Twig\TokenStream";。

有办法做得更好吗?提前感谢

您似乎在使用基于资产捆绑包的旧语法,Symfony上不再支持该语法>=4.0,但你可以使用标准块,并且非常接近正确:

{% set myFileToLoad = 'awesomeScript.js' %}
{% block javascripts %}
<script src="{{ asset('js/forms/' ~ myFileToLoad) }}"></script>
{% endblock %}

最新更新