如何在Symfony中通过twig模板添加样式表

时间:2016-06-24 11:51:11

标签: php sass symfony

我按照本教程在symfony中添加了sass支持:

http://alexandre-salome.fr/blog/Sass-Compass-Assetic-In-Ten-Minutes

到目前为止,我有一个带有此内容的stylesheets.html.twig:

{% stylesheets filter="sass"
    "css/main.scss"
    "css/details.scss"
    "css/talk.scss"
%}
    <link rel="stylesheet" href="{{ asset_url }}" />
{% endstylesheets %}

工作正常,但如果使用特定的* .html.twig,如何添加更多样式表?我想在使用上面这样的过滤函数时我不能使用块。

2 个答案:

答案 0 :(得分:1)

对于Synfony2,它应该如下所示:

{% block css %}
    {% stylesheets output='css/compiled/index.css'
        '@MainBundle/Resources/css/editable.css'
    %}
    <link rel="stylesheet" href="{{ asset_url }}" />
    {% endstylesheets %}
{% endblock %}

答案 1 :(得分:0)

好的迪米特里奥,你的回答指导我解决方案

第一个问题是,包含了stylesheets.html.twig,因此我无法访问并覆盖其中的块,所以我用它替换了它:

#base.html.twig
{% use "::stylesheets.html.twig" %}           
{% block stylesheets %}
    {{ parent() }}
{% endblock %}

并在stylesheets.html.twig

#stylehseets.html.twig
{% block stylesheets %}

    {% stylesheets filter="sass"
        "css/main.scss"
        "css/basic.scss"
    %}
        <link rel="stylesheet" href="{{ asset_url }}" />
    {% endstylesheets %}

{% endblock %}

在我的特定树枝内,我不得不向块添加内容

{% block stylesheets %}

    {{ parent() }}

    {% stylesheets filter="sass"
        "css/specific/show.scss"
    %}
        <link rel="stylesheet" href="{{ asset_url }}" />
    {% endstylesheets %}
{% endblock %}

它工作得很好,但是对于特定的树枝,是不是有一个更短的解决方案?我想找点像

的东西
{% addstylesheet 'css/specific/show.scss' %}