2016-09-05 16 views
0

symfony 2.7 WebAppにSassベースのスタイルを使用したいと思います。今まで私はCompassを使ってCSSファイルにSassファイル(web/ dirではなくバンドル内にあります)をコンパイルしました。これは正常に動作しますが、新しいサーバーでRubyは使用できないため、コンパスはもうオプションではありません。symfony 2.7 + Sass + Assetic:app_dev.phpを使用しているときにスタイルが適用されない/表示されない

Symfony Docu後、私はプロジェクトにleafo/scssphpを追加し、設定ファイルで有効化:

# app/config/config.yml 
assetic: 
    filters: 
     scssphp: 
      formatter: 'Leafo\ScssPhp\Formatter\Compressed' 
     # ... 

サスファイルがTwigテンプレート内:

{% stylesheets 
    'MyMainBundle/Resources/styles/sass/header.scss' 
    filter="scssphp" 
    output="css/header.css" %} 
    <link rel="stylesheet" href="{{ asset_url }}" /> 
{% endstylesheets %} 

これは時に正常に動作しますnon-devモードでsymfonyを使用:

php app/console assetic:dump --env=prod --no-debug 

ファイルweb/css/header.cssが作成され、問題なく動作します。ただし、フロントコントローラーapp_dev.phpを使用している場合は、header.scssのスタイルは適用されません。アソティックを使用せずに直接リンクされた他のファイルのスタイルだけがレンダリングされます。

この奇妙な、私は、生成/ロードされたHTMLファイルを検査する場合、スタイルシートがそうなので、正しく含まれる:

<link rel="stylesheet" href="/app_dev.php/css/header_header_1.css" /> 

/app_dev.php/css/header_header_1.cssを呼び出すには、直接そのすべてのスタイルとスタイルシートを示しています。

したがって、すべてのスタイルが適切に配置されているようです。それがあるべきであるすべて。ただし、レンダリングされるスタイルはありません。

これを解決する方法はありますか?

答えて

0

私はこの問題を解決できました:text/css.の代わりにContent-Type: text/htmlでCSSファイルが転送されました。これはFOSRestBundleのformat_listener設定に起因しています。受け入れルールにCSSを追加することでこれが解決されました。 CSSファイルはtext/cssとして転送され、すべて正常に動作します。

関連する問題