在细枝子对象中添加css和javascript
您好,我尝试在twig子项中添加一些css和javascript,但它不起作用 head.html.twig:在细枝子对象中添加css和javascript,javascript,css,symfony,twig,Javascript,Css,Symfony,Twig,您好,我尝试在twig子项中添加一些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" /> {% en
{% 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 %}
{% 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 %}
{%样式表
'bundles/mybundle/some_folder/css/myfile.min.css'filter='cssrerewrite'
%}
{%endstylesheets%}
{%block custom_sheets%}
{%endblock%}
{%javascripts
“@MyBundle/Resources/public/some_folder/js/myfile.min.js”
%}
{%endjavascripts%}
{%block自定义_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>
{%block head%}
{%-include'MyBundle:layout:head.html.twig'和{''u title':block('title')}-%}
{%endblock%}
....
{%block body%}
{%end block%}
.....
自定义_layout.html.twig扩展layout.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 %}
{% 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 %}
{%block custom\u sheets%}
{%样式表
'bundles/acueil/css/my.css'filter='cssrewite'
%}
{%endstylesheets%}
{%endblock%}
{%block自定义_javascripts%}
{%javascripts
“@MyBundle/Resources/public/js/my.js”
%}
{%endjavascripts%}
{%endblock%}
my.css和my.js均未加载
为什么?这是树枝的限制。当您
include()
模板时,包含该模板的块在包含该模板的模板中不可用。因此,head.html.twig
中定义的块丢失了
这就是为什么通常不对页面的页眉和页脚执行
include()
。无论如何,layout.html.twig模板通常非常大,因此也包括页眉和页脚内容并不重要。这是twig的一个限制。当您include()
模板时,包含该模板的块在包含该模板的模板中不可用。因此,head.html.twig
中定义的块丢失了
这就是为什么通常不对页面的页眉和页脚执行
include()
。无论如何,layout.html.twig模板通常非常大,因此也包括页眉和页脚内容并不重要。只需在layout.html.twig中调用它们即可。根据我的说法,最好将所有脚本和css文件都放在layout中,只需在layout.html.twig中调用它们即可。根据我的说法,最好在布局中包含所有脚本和css文件,称之为良好的体系结构!称它为一个好的架构!