2015-10-15 109 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' –