【问题标题】:Variable " asset_url" does not exist变量“asset_url”不存在
【发布时间】:2016-01-12 12:30:44
【问题描述】:

不确定出了什么问题,但我不能包含 javascript 和/或样式表文件。使用 Symfony3

{% block javascripts %}
    {% javascripts
        '@AppBundle/assets/js/jquery.js'
        '@AppBundle/assets/bootstrap/js/bootstrap.min.js'
    %}
        <script type="text/javascript" src="{{ asset_url }}"></script>
    {% endjavascripts %}

{% endblock %}

收到此错误: 第 32 行的 security/login.html.twig 中不存在变量“asset_url”

【问题讨论】:

  • 您可以尝试在javascripts 的末尾(和内部)添加output='js/compiled/app.js' 吗?就在&lt;script&gt;上面我认为这可以解决问题的原因是因为asset_url会从output编译文件
  • {% block javascripts %} {% javascripts output='js/compiled/app.js' 还没有运气
  • 您的文件在哪里?它们通常位于 @AppBundle/Resources/public 而不是 @AppBundle/assets

标签: symfony twig theming


【解决方案1】:

总的来说,代码应该是这样的:

{% block javascripts %}
    {% javascripts
        '@AppBundle/assets/js/jquery.js'
        '@AppBundle/assets/bootstrap/js/bootstrap.min.js'
        output='js/compiled/app.js' %}
        <script type="text/javascript" src="{{ asset_url }}"></script>
    {% endjavascripts %}
{% endblock %}

如果它不起作用,请确保这些文件的路径正确。

【讨论】:

  • 好吧,让它变得简单,如果它们在 web 文件夹中,我应该只使用 js/.js 吗?
  • 是的。例如'js/jquery.js''bootstrap/js/bootstrap.min.js'(如果它也在 web 文件夹中并且具有这样的结构)
  • {% block javascripts %} {% javascripts output='js/compiled/app.js' 'js/jquery.js' %} &lt;script type="text/javascript" src="{{ asset_url }}"&gt;&lt;/script&gt; {% endjavascripts %} {% endblock %} 我现在已经三次检查了 jquery.js 文件是否存在于 web/js/ 文件夹中
  • 像我一样尝试将输出移动到javascripts的末尾
  • 尝试将其移出区块,看看是否有任何变化
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-02-16
  • 2020-12-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-08
相关资源
最近更新 更多