使用命名资产的Symfony和assetic cssrewrite过滤器

时间:2015-10-15 08:17:35

标签: php symfony assetic

使用assetic和使用命名资产的cssrewrite过滤器时遇到问题。我在assets.yml中定义了一个命名资产,如下所示:

BOOST_TEST_NO_MAIN

在我的twig模板中,我将此资产与cssrewrite过滤器一起使用:

assetic:
  assets:
    mycssfiles:
      inputs:
        - 'bundles/mybundle/css/mystyles.css'

使用此配置,css的结果对于css文件中包含的图像具有不正确的URL。但是,如果我不使用命名资产,它可以正常工作,并且图像的URL会正确重写。这段代码工作正常:

{% stylesheets '@mycssfiles' output='css/styles.css' filter="cssrewrite" %}
    <link rel="stylesheet" href="{{ asset_url }}" />
{% endstylesheets %}

cssrewrite过滤器不能与命名资产一起使用吗?我知道它不适用于@AppBundle sintax,但我不知道它是否与命名资产不兼容,或者我做错了什么。

1 个答案:

答案 0 :(得分:3)

我发布我的conf for fontawesome,我希望这有用:):

# Assetic Configuration
assetic:
    debug: "%kernel.debug%"
    use_controller: false
    bundles :       [AppBundle]
    java: /usr/bin/java
    filters:
        cssrewrite: ~
    assets:
    font_awesome:
        inputs:
            - "bundles/app/bower_components/components-font-awesome/css/font-awesome.min.css"
        filters:
            - cssrewrite

Twig part

    {% stylesheets filter='cssrewrite'
            '@font_awesome'
    %}
    <link rel="stylesheet" href="{{ asset_url }}" type="text/css" media="all"/>
    {% endstylesheets %}