2017-03-28 4 views
0

AssetBundleを含む拡張を作成したいと思います。これは単純な静的CSSファイルを提供します。その静的なCSSファイルでは、拡張子の一部でもある画像ファイルを使用したいと思います。Yii2 Assets:CSSファイル内でイメージアセットを使用するには?

イメージファイルのURLを知って、CSSファイル内で使用するにはどうしたらいいですか?

画像ファイルをアセットとして登録すると、は予測できないランダムなURLが表示されます

だから、

.some-selector { background: url('/assets/?????/image.jpg'); }

、どのようにこれを行うことができます。だから、のような何かをすることは不可能でしょうか?さらに明確にするため


、ここでは、そのような拡張の例のフォルダ構造です:

  • extension/Widget.php - 私たちのAssetBundle
  • extension/AssetBundle.phpを登録し、いくつかのウィジェット - CSS
  • extension/assets/css/style.cssを登録した資産バンドルは、 - css
  • extension/assets/images/image.jpg - 内部で使用したい画像style.css
+0

あなたの予想結果でしたか? –

+0

@LIJINSAMUELエクステンションが提供する画像を使用する完全に静的なCSSファイルを持っています。 – mae

+0

assetsフォルダの画像は? –

答えて

1

この場合、新しいcssファイルをアセット定義に含めることをおすすめします。この場合、画像とCSSファイルはassetsフォルダにあり、絶対パスではなく相対パスを指定することができます。例: 以下の内容で /assets/a4dc56/image.jpg

/assets/a4dc56/style.css:

.some-selector { 
    background: url('image.jpg'); 
} 
+0

ブリリアント。私は明白な解決策がなければならないことを知っていた。私は、相対パスでイメージを含めて終わりました。 'background:url( '../ images/image.jpg');' – mae

関連する問題