2015-10-15 46 views
3

我使用资产和使用命名资产的cssrewrite过滤器时出现问题。我在assets.yml定义了一个名为资产这样的:使用命名资产的Symfony和资产cssrewrite过滤器

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

在我的树枝模板我用这个资产与cssrewrite过滤器:

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

使用此配置的CSS的结果有包含在css文件中的图像的URL不正确。但是,如果我不使用指定的资产,它可以正常工作,并且图像的url可以正确重新编译。此代码正常工作:

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

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

+0

这只是一个猜测,我没有确认,但显然“@ “语法是什么导致与cssrewrite问题。 – jahller

+0

我知道cssrewrite与@AppBundle无法像[here]一样工作(http://symfony.com/doc/current/cookbook/assetic/asset_management.html#fixing-css-paths-with-the-cssrewrite-过滤器)解释,但不要说任何关于命名资产 –

回答

3

我后我的conf为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 

枝条部分

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

谢谢,它的工作原理。问题是我正在使用在树枝模板中的{%stylesheets ...'代码中添加'combine = true' –