4

私はsymfony2とAsseticの初心者です。CSSにasseticとSassを使用したいのですが。カスタムフォントを使用しています。バンドルのResourcesの下に「assets/css」フォルダーを作成し、その中に_base.scssとmain.scssがあります。私のパブリックフォルダには次のものがあります。

  • css
  • フォント
  • 画像
  • js

フォントにはカスタムフォントがあります。

私のSCSSでは、次のようにフォントと画像を取得します。

    @include font-face("billabongregular", font-files("/bundles/Mybundle/fonts/billabong-webfont.ttf"));
background: $bg_header url("/bundles/Mybundle/images/darkGreyBackground.jpg") fixed no-repeat top center;

私はassets:installの後にこのパスがあり、web / mybundle/fontsとweb/mybundle/imagesの下にファイルがあります

私がする時php app/console assetic:dump --env=prod --no-debug

私は私のウェブにあります:

  • css
  • js(パブリックフォルダー)

しかし、私はFontsフォルダーとimagesフォルダーを持っていません。IOが画像のソースコードを見る場合、私はこのパスを持っています/bundles/Mybundle/images/darkGreyBackground.jpg

Webにすべてのフォルダがないのはなぜですか?/bundles/Mybundle/images/darkGreyBackground.jpgと/bundles/Mybundle/fonts/billabong-webfont.ttfを使用して、画像とフォントを正しく呼び出しますか?

4

2 に答える 2

1

これは、コマンドweb/bundles/Mybundle/を呼び出した後にバンドルのリソースのシンボリックリンクが存在するという標準的な予想される動作です。php app/console assetic:dump

cssでアセット生成パスを使用するには、cssrewriteフィルターを使用するか、さらに単純に、フォルダーcssimagesフォルダーが同じメインフォルダーにある場合は、相対パスを使用します。

@include font-face("billabongregular", font-files("../fonts/billabong-webfont.ttf"));
background: $bg_header url("../images/darkGreyBackground.jpg") fixed no-repeat top center;

編集

バンドルでは、コマンドwebの実行後にディレクトリ内のファイルにアクセスできるようにする場合は、次のようにディレクトリ内にファイルを配置する必要があります:http ://symfony.com/doc/current/book/page_creation.html #bundle-directory-structureassets:installResources/public/

于 2013-02-25T20:06:34.707 に答える
-1

私は同じ問題を抱えていましたが、回避策として次のものを使用してみました。これまでのところうまくいくようです。

{% stylesheets
    output='assets/fonts/glyphicons-halflings-regular.ttf'
    'bundles/bootstrap/fonts/glyphicons-halflings-regular.ttf'
%}{% endstylesheets %}

テンプレートに何も表示されないことを意味する出力の省略に注意してください。Assetic:dumpを実行すると、ファイルが目的の場所にコピーされ、cssに期待どおりの作業が含まれます。

于 2013-10-19T22:18:02.087 に答える