Easy integration of twitters bootstrap into symfony2

Installs: 27

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 2

Forks: 362



v3.0.0-beta3 2013-10-25 11:56 UTC


MopaBootstrapBundle is a collection of code to integrate twitter's bootstrap ( as easy as possible into your symfony2 ( Project.

The Bootstrap 3 support is now mainly working. Check out the Beta-3

To use MopaBootstrapBundle and twitters Bootstrap 3 in your project add it via composer


Recent BC breaks:

  • dc4fd12: [BC Break] Removed inline completely
  • add75e9: Renamed config mopa_bootstrap.navbar to

BS3 (master branch of this bundle) is nearly stable see Beta-3 BS2 (v2.3.x) is quite stable

BC breaking changes will probably not be ported to 2.3.


To use this bundle with bootstrap 3 use the master branch:

    "require": {
        "mopa/bootstrap-bundle": "v3.0.0-beta3",
        "twbs/bootstrap": "v3.0.0"

For bootstrap 2 use the v2.3.x branch:

If you want to use bootstrap 2:

    "require": {
        "mopa/bootstrap-bundle": "2.3.x-dev",
        "twbs/bootstrap": "v2.3.2"

To understand which versions are currently required have a look into


The bulk of the documentation is stored in the Resources/doc/ file in this bundle In any case, if something is not working as expected after a update:

Recent BackwardsCompatibility breaking changes:

  • c892cd9: Changed the way how navbars are created, read the doc
  • a4b78d5: Added Version Detection for BS2 or BS3
  • 5f1200f: Changed the widget_addon form parameter to use type (prepend/append) instead of append (true/false)

Live Show

To see the bundle, its capabilities and some more doc just have a look on

MopaBootstrapBundle Live

Additional Resources:


Installation instructions are located in the

Included Features

  • Bootstrap Version detection via Composer Brigde
  • Twig Extensions and templates for use with symfony2 Form component
    • control your form either via the form builder or the template engine
    • control nearly every bootstrap2 form feature
    • javascript and twig blocks for dynamic collections
  • A generic Navbar class to generate your Navbar outside the template
    • helpers for dropdowns, seperators, etc.
  • A generic Tab class to Manage bootstrap tabbing
  • twig templates for KnpPaginatorBundle (
  • twig templates for CraueFormFlowBundle (
  • twig template for KnpMenuBundle (
    • icon support on menu links

Recently added Features


We need to add more info here

Bootstrap 3

We now officially suport bootstrap3 in our master branch, The default is to determine Version by composer, this means, MopaBootstrapBundle tries to determine which version you have installed, and configures itself to use it. This is done in a compiler pass and stored in local cache. If for any reason this does not wor for you, you might want to set the

We have several files seperated for bs2 and bs3 to be abled to support both e.g. forms:

The bs3 feature set is not yet complete, but we hope that it gets soon, with your help! E.g Form have some known issues, JS Collections, etc

Dynamic SubnavBars

To kick start your Navigation, the Navbar component got some face lift. It got even easier to integrate also the dynamic sub navbar you might have seen in the twitter bootstrap docs.

To learn how to use this features read Navbar docs (4-navbar-generation).

Also have a look into the Sandbox


To make your base HTML5 even better and let you use good practices we added to this bundle features from HTML5 BoilerPlate Project. Integration was done using setup pregenerated with support of Initializr. Actually we support HTML5 BoilerPlate v3.0.3 with Modernizr v2.5.3 and Respond.

To learn how to use this features read Initializr docs (


The branching strategy has been adapted to be more flexible:

  • The old branch for bootstrap 1.x (v1.x) still exists.
  • The v2.0.x (previously v2.x_sf2.0) branch is following Symfony 2.0.x with bootstrap 2.x
  • The master branch is following Symfony master with bootstrap 2.x
  • The master-crud branch is following Symfony master with bootstrap 2.x but still has the CRUD Generator, which depends on SensioGeneratorBundle


If you use KnpPaginatorBundle with MopaBootstrapBundle, you can translate labels to your language. To do this add new file

Resources/translations/pagination.[YOUR LOCALE CODE].yml

As example you have there Polish translation.


If you want to contribute your code to MopaBootstrapBundle please be sure that your PR's are valid to Symfony2.1 Coding Standards. You can automatically fix your code for that with PHP-CS-Fixer tool.

You can see who already contributed to this project on Contributors page


This bundle is under the MIT license. For more information, see the complete LICENCE file in the bundle.