既存のプロジェクトでSymfony2とasseticを使用していますが、CSSで画像を参照する方法がわかりません。私は自分の画像を次の場所に置きました:src/Organisation/MyBundle/Resources/public/images/
アセットのインストールを実行した後:php app/console assets:install public
私はそれらをブラウザに正しくロードすることができます:http://sitename/bundles/organisationmy/images/logo.png
ただし、CSSでそれらをポイントしようとすると、次のようになります。url('/bundles/organisationmy/images/logo.png')
firebugで検査すると、URLは次のように変更されますurl('/web/bundles/organisationmy/images/logo.png')
。その結果、404になります。
私のメインテンプレートには次のものがあります。
{% stylesheets filter='yui_css' output='css/output.css'
'@MyBundle/Resources/public/css/bootstrap.min.css'
'@MyBundle/Resources/public/css/bootstrap-responsive.min.css'
'@MyBundle/Resources/public/css/my.css'
%}
そしてconfig.yml
私は持っています:
assetic:
debug: %kernel.debug%
use_controller: false
java: /usr/bin/java
filters:
cssrewrite: ~
yui_css:
jar: %kernel.root_dir%/java/yuicompressor-2.4.7.jar
yui_js:
jar: %kernel.root_dir%/java/yuicompressor-2.4.7.jar
私routing.yml
が持っている:
_assetic:
resource: .
type: assetic
この質問Symfony2-Assetic-CSSで画像を読み込むのfilter='cssrewrite'
を見たことがありますが、filter='yui_css'
同時に使用できるかどうか、どのように使用できるか、または問題を解決する方法がわかりません。
基本的に、Symfony2を停止して、CSS画像のパスに/web/
問題のプレフィックスを付けることができれば解決されます。または、Symfony2でこの問題を解決する適切な方法を知っている人はいますか?
更新:url('something.png')を入力しても、ページを読み込んだときにCSSが更新されないことに気付いたので、コマンドラインで何かを台無しにした可能性があります。コマンドも指定しました。のようphp app/console assetic:dump
に-CSSを変更してページをリロードする通常の開発スタイルに戻る方法は?
UPDATE2php app/console assetic:dump --watch
:アセットが変更されると自動的に更新されることを発見しました。