0

我正在开发一个 Symfony2 应用程序,我正在尝试在 specifig twig 模板中导入资源(此处为 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 ...

底线,我将如何在我的继承模板中导入这些资源?或者只是在一般布局中导入它们更好(但它会为每个页面加载:/)?

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

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

4

1 回答 1

1

{% extends ... %}必须先来。

您可能还想使用该parent函数附加到布局中定义的样式表和 javascript,而不是覆盖它们。

于 2012-06-12T08:15:09.943 回答