Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Symfony2:在子布局模板中使用资源_Php_Symfony_Twig - Fatal编程技术网

Php Symfony2:在子布局模板中使用资源

Php Symfony2:在子布局模板中使用资源,php,symfony,twig,Php,Symfony,Twig,我正在开发一个Symfony2应用程序,我正在尝试将资源(这里是css和js)导入到一个指定的细枝模板中,而不是在布局模板中。然而,当我使用extends属性时,我尝试的似乎不起作用。然而,当没有布局继承时,它确实可以工作 以下是我使用的代码: {% block stylesheets %} {% stylesheets 'bundles/mybundlename/css/style.css' filter='cssrewrite' %}

我正在开发一个Symfony2应用程序,我正在尝试将资源(这里是css和js)导入到一个指定的细枝模板中,而不是在布局模板中。然而,当我使用extends属性时,我尝试的似乎不起作用。然而,当没有布局继承时,它确实可以工作

以下是我使用的代码:

{% block stylesheets %}
    {% stylesheets 'bundles/mybundlename/css/style.css'
                    filter='cssrewrite' %}
        <link rel="stylesheet" href="{{ asset_url }}" type="text/css" />
    {% endstylesheets %} 
{% endblock %}

{% block javascripts %}
    {% javascripts 'bundles/mybundlename/js/jquery-1.7.2.min.js'
                'bundles/mybundlename/js/jquery-ui-1.8.20.custom.min.js'
                        %}
        <script src='{{ asset_url }}' type='text/javascript'></script>
    {% endjavascripts %}
{% endblock %}

{% extends "MyBundle::layout.html.twig" %}

... the rest of my template ...
{%block stylesheets%}
{%stylesheets'bundles/mybundlename/css/style.css'
筛选器='CSSRERITE'%}
{%endstylesheets%}
{%endblock%}
{%block javascripts%}
{%javascripts'bundles/mybundlename/js/jquery-1.7.2.min.js'
'bundles/mybundlename/js/jquery-ui-1.8.20.custom.min.js'
%}
{%endjavascripts%}
{%endblock%}
{%extends“MyBundle::layout.html.twig”%}
... 我的模板的其余部分。。。
总之,我将如何在继承模板中导入这些资源? 或者只是在总体布局中导入它们更好(但是每个页面都会加载:/)

编辑:我也使用了@MyBundle路由类型,引擎正在搜索它们(如果路径错误,我会得到一个错误),但是资源没有添加到html部分


第二次编辑:它不起作用的原因可能是我没有在顶层布局中声明
{{{%blocks%}
。我在我的子布局和页面中使用了{{parent()}}(作为一个“清洁度”问题),它是有效的。

{%extends…%}
必须放在第一位


您可能还希望使用该函数附加到布局中定义的样式表和Java脚本中,而不是覆盖它们。

我实际上尝试了这两种方法,但在刚刚编辑时,正在搜索资源,但没有实际加载到页面中。然后,您在其他地方遇到了问题。我的观点是,你可以做你想做的事情。解决它:如果
{%blocks%}
没有在顶级布局中定义,它们就不会被导入从它们继承的布局中。一旦定义了这些块,使用
{{parent()}}
方法就可以很好地工作。非常感谢。顺便说一下,我已经为Symfony2建立了一个聊天室,如果你也使用它的话。。。好吧,只是说:)