我无法找到任何资源。
我有一个base.twig.html模板,我的所有网页都来自这个模板。在底部我加载 网站所需的js:jquery,bootstrap和一些自定义javascript
{% block reqscripts %}
{% javascripts '@jquery' '@bootstrap_js' '@sc_js' %}
<script type="text/javascript" src="{{ asset_url }}"></script>
{% endjavascripts %}
{% endblock %}
{% block extrajs %}
{% endblock %}
所需的脚本加载并且工作得很好!
你会注意到我留下了空的&#34; extrajs&#34;阻止所以我可以加载页面特定的js 如果需要的话。
当我覆盖该块并加载其他javascript文件时,它们会抛出
$ not defined
jQuery not defined
错误。
为什么会发生这种情况,如何在没有jquery错误的情况下设置模板来处理我的extrajs块。
如果需要,我可以显示我的资产配置,但我真的怀疑这是因为jquery加载得很好。
修改 因此,&#34; extrajs&#34;中的脚本块实际上执行,但抛出错误。 这样做的正确方法是什么?
修改 根据要求提供base.html.twig的骨架
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<link href="//netdna.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.min.css" rel="stylesheet">
{% block reqstyles %}
{% stylesheets '@SCMainBundle/Resources/public/css/fonts.css' %}
<link rel="stylesheet" href="{{ asset_url }}" screen="media"/>
{% endstylesheets %}
{% stylesheets '@bootstrap_less' %}
<link rel="stylesheet" type="text/css" href="{{ asset_url }}"/>
{% endstylesheets %}
{% block extracss %}
{% endblock %}
{% endblock %}
<title>{% block titleblock %}{% endblock %}</title>
</head>
<body {% block bodyid %}{% endblock %}>
{% block header %}
{% include 'SCMainBundle:Templates/Header:basic-header.html.twig' %}
{% endblock %}
{% block nav %}
{% endblock %}
{% block content %}
{% endblock %}
{% block footer %}
{% include 'SCMainBundle:Templates:footer.html.twig' %}
{% endblock %}
{% block reqscripts %}
{% javascripts '@jquery' '@bootstrap_js' '@sc_js' %}
<script type="text/javascript" src="{{ asset_url }}"></script>
{% endjavascripts %}
{% block extrajs %}
{% endblock %}
{% endblock %}
</body>
</html>
正如您所看到的,首先加载jQuery时没有错误,并且该javascript块中的所有文件都有效。
下一个块会抛出丢失的jquery错误,但仍然可以正常执行脚本。
答案 0 :(得分:0)
与另一个问题类似,我愚蠢地扩展了我的内部块中的extrajs块,从而丢掉了所有订单。