web-dev-qa-db-ja.com

Symfony2とTwitter Bootstrap

私はちょうどTwitter Bootstrap今日、SOで出くわしました。私はいくつかのオンラインチュートリアルを通してスキムを持っています、そして私の理解がこれまでのところ正しいなら、TBは基本的に次のもので構成されます。

  1. TBのダウンロード、CSSファイルの抽出など
  2. HTMLドキュメントで必要なCSS、JSファイルを参照し、定義されたCSSパターンを使用する

Twitterを使いたいBootstrap Symfony2で。TB Symfonyで比較的使いやすいと思ったので、使い方を理解していました。 Symfonyで使用するバンドルが(実際にはいくつか)あるのを見て、非常に驚​​きました。

だから私の質問は:

  1. Twitter Bootstrap with Symfony2を使用するためにバンドルが必要なのはなぜですか?-上記で説明した方法は機能しません(つまり、参照をtwigテンプレートに直接追加する)) ?

  2. いくつかのTwitter Bootstrapバンドルが利用可能であるため(最後に3つあります)、これは最も使いやすいものです(最近のコミットで積極的にサポートされているものでなければならず、死んでいないものでなければなりません)事業)

22

これらのバンドルは素晴らしいと確信していますが、長所と短所があります。プロジェクトで直接バンドルなしでTBを使用することもできます。これは、私が個人的に行っていることです。

  • git clone TB in web /(最新の更新を取得して更新を維持するため)
  • twigテンプレートでAsseticとlessフィルターを使用してbootstrap.lessを直接呼び出します。こうすることで、@ imports TBたとえば、驚くべきミックスインを使用します。

このように本当に強力です。 yui-compressorと組み合わせて、Asseticをデバッグなしモードで使用すると、すべてのjs以下のファイルが1つの.css出力と1つの.js出力にコンパイルされます。そして、すべてのTB機能、.cssではなく.lessで)の恩恵を受けることができます

33
guillaumepotier

TwitterBootstrapとのsymfony統合を提供する2つの主要なバンドルがあります。

私の考えでは:

MopaBootstrapBundleはより複雑で、独自のレイアウト構造(独自のレイアウト構造も作成できるため)と多くの定義済み機能、追加のアセット、フォームなどを提供します統合

BcBootstrapBundleはよりシンプルで、独自のレイアウト構造を使用する方がはるかに明確であり、定義された機能、追加のアセット、フォーム、その他の統合も多数あります。

intergtaionバンドルを使用しないもオプションですが、フォームとの統合が失われ、資産が少なくなります(@Acyraがコメントで述べたように)

私は、追加の統合機能を備えたBcBootstrapBundleを使用し、独自のカスタムレイアウト構造を使用することを好みます。

7
pleerock

Twitter Boostrap(TB)を使用して、プロジェクトにcssのみを追加できます。そして、最初から始めるよりも視覚的なことをするための出発点があります。あなたが最初の部分で説明したように。

ただし、TBとのテンプレート統合を処理するバンドルからより興味深いものを取得することもできます。例えば:

たとえば、symfony 1.4(この投稿がsf2について話していることは知っています)では、管理ジェネレーターに新しいテーマを追加して持つことができるプラグインがあります素敵なTBデフォルトの代わりに統合。sf2には公式の管理ジェネレーターがないことは知っていますが、CRUDに使用できます。

Symfony 1.0以降に当てはまる可能性のあるもう1つのことは、すべてのバンドルが十分に実装、開発、保守、テスト、文書化されているわけではないなどです(コアチーム(FOS *バンドル、Doctrine、Propelなど)からのものを除く) )。したがって、それらすべてをテストし、そのうちの1つがニーズに合っているかどうかを確認するか、インスピレーションを得てそれらを改善するか(ほとんどすべてがgithubにあります)、独自に構築することをお勧めします。

そしてところで、 多くのバンドル があります。

3
j0k

SymfonyとBootstrapの更新:Symfonyは常にドキュメントの詳細が少し遅れているように見えるので、ここにSymfonyの更新があります。バージョン2.6以降には、TwitterBootstrapとの基本的な統合が含まれるようになりました。

http://symfony.com/blog/new-in-symfony-2-6-bootstrap-form-theme

うまくいけば、これは誰かの時間を節約し、上記のSymfonyのドキュメントで説明されているようにそれを機能させることができます!

1