您好我尝试在树枝儿童中添加一些css和javascript,但它不起作用。
head.html.twig:
{% stylesheets
'bundles/mybundle/some_folder/css/myfile.min.css' filter='cssrewrite'
%}
<link href="{{ asset_url }}" type="text/css" rel="stylesheet" media="print" />
{% endstylesheets %}
{% block custom_sheets %}
{% endblock %}
<script src="{{ asset('bundles/fosjsrouting/js/router.js') }}"></script>
{% javascripts
'@MyBundle/Resources/public/some_folder/js/myfile.min.js'
%}
<script src="{{ asset_url }}" charset="UTF-8"></script>
{% endjavascripts %}
{% block custom_javascripts %}
{% endblock %}
layout.html.twig:
<html>
<head>
{% block head %}
{%- include 'MyBundle:layout:head.html.twig' with {'_title': block('title') } -%}
{% endblock %}
</head>
<body>
....
{% block body %}
{% end block %}
.....
</body>
custom_layout.html.twig扩展了layout.html.twig:
{% block custom_sheets %}
{% stylesheets
'bundles/accueil/css/my.css' filter='cssrewrite'
%}
<link rel="stylesheet" href="{{ asset_url }}" type="text/css" />
{% endstylesheets %}
{% endblock %}
{% block custom_javascripts %}
{% javascripts
'@MyBundle/Resources/public/js/my.js'
%}
<script src="{{ asset_url }}" charset="UTF-8"></script>
{% endjavascripts %}
{% endblock %}
my.css和my.js都没有加载。
为什么?
答案 0 :(得分:0)
这是Twig的限制。当您include()
模板时,包含该模板的模板中的模块不可用。因此,head.html.twig
中定义的块将丢失。
这就是为什么不对页面的页眉和页脚执行include()
的原因。无论如何,layout.html.twig模板通常非常大,所以包含页眉和页脚内容也没关系。