2

関連ファイルを次の場所にコピーして、Twitter Bootstrap のバンドルを作成しました。

  • src/Acme/BootstrapBundle/Resource/public/js
  • src/Acme/BootstrapBundle/Resource/public/css
  • src/Acme/BootstrapBundle/Resource/public/img

次に、php app/console assets:install webバンドル リソースを Web フォルダーにコピーするコマンドを実行します。小枝テンプレートでは、assetic を使用して css と javascript を取り込むことができます。これは正常に機能します。

私が抱えている問題は、バニラ ブートストラップ css が、実際にはイメージ リソースの Web ルートにある /img を指していることです。/web/bundles/bellabootstrap/img

これらのファイルを目的の場所に手動でコピーしたり、シンボリックリンクを作成したりすることもできますが、これを行う正しい Symfony / Assetic の方法を知りたいです。

Bootstrapだけでなく、これを行う方法に興味があることに注意してください-jqueryui/jquery-datatablesなど、および他のサードパーティのライブラリにはまったく同じ問題があります。

ありがとう。

4

2 に答える 2

3

しばらく前に、これに対する適切な解決策を発見しました:

http://symfony.com/doc/current/cookbook/assetic/asset_management.html#fixing-css-paths-with-the-cssrewrite-filter

Assetic (優れたソフトウェア) は、さまざまなフィルターを介して CSS を実行できます。この問題を解決するのは ccsrewrite です。Symfony のドキュメントで説明されているように、CSS ファイルに含まれるパスを修正します。

于 2013-08-15T08:27:46.523 に答える
2

JQuery UI (滑らかさのテーマ) の場合:

src/Acme/YourBundle/Resources/public/css/smoothness
src/Acme/YourBundle/Resources/public/css/smoothness/jquery-ui-1.8.16.custom.css
src/Acme/YourBundle/Resources/public/css/smoothness/images
src/Acme/YourBundle/Resources/public/css/smoothness/images/ui-bg_flat_75_ffffff_40x100.png

...およびその他の画像ファイル(jquery.comサイトから出てきたものと同じ)。

小枝には次のものがあります:

<link type="text/css" rel="stylesheet" href="{{ asset('bundles/acmeyour/css/smoothness/jquery-ui-1.8.16.custom.css') }}"></link>

適切な writen css が処理してくれるので、png ファイルの場所を気にする必要はありません。一方、{{ asset() }} メソッドは正しいディレクトリを指しているので、心配する必要はありません。

于 2012-11-01T18:08:19.450 に答える