Easy integration of twitters bootstrap into symfony2

Installs: 2 364 966

Dependents: 45

Suggesters: 7

Security: 0

Stars: 717

Watchers: 41

Forks: 362

Open Issues: 27


v3.4.2 2022-09-29 16:06 UTC


Build Status SensioLabsInsight Coverage Status

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

To use MopaBootstrapBundle and Twitter's Bootstrap 3 in your project add it via composer

Versions and dependencies

MopaBootstrapBundle Bootstrap Symfony PHP
[3.4] (master) ^3.0 ^4.4 || ^5.1 || ^6.0 ^7.2 || ^8.0
[3.3] (3.3) ^3.0 ^2.3 || ^3.0 || ^4.0
[3.2] (unmaintained) ^3.0 ^2.3 || ^3.0
[3.1] (unmaintained) ^3.0 ^2.3 || ^3.0
[3.0] (unmaintained) ^3.0 ^2.3 || ^3.0
[2.3] (unmaintained) ^2.0 ^2.3
[2.2] (unmaintained) ^2.0 >=2.1,<2.4
[2.1] (unmaintained) ^2.0 ~2.1.0
[2.0] (unmaintained) ^2.0 ~2.0.0
[1.x] (unmaintained) ^1.0 ^2.0


New in 3.1: The way horizontal works has been slightly altered due to a change in Symfony forms. This may or may not affect some behavior of your existing forms. ALL root form elements, whether they have a parent form or not will start with horizontal === true (or whatever value you set in the config). For the most part this shouldn't affect many users.

horizontal will also correctly pass itself down to collection types (and all child forms). So if your collection is horizontal, so will the collection items. If you want your collection items only to be inline, then you can pass these options to your collection:

    'entry_options' => array('horizontal' => false), //   2.8+
    'options' => array('horizontal' => false),       // < 2.8

horizontal_wrap_children has been removed, as this can be solved using the above options.


To use this bundle with bootstrap 3 use the latest release:

composer require mopa/bootstrap-bundle twbs/bootstrap

Or config via composer.json


    "require": {
        "mopa/bootstrap-bundle": "~3.0",
        "twbs/bootstrap": "~3.3.0"


    "require": {
        "mopa/bootstrap-bundle": "~3.0",
        "twbs/bootstrap-sass": "~3.3.0"

If you wish to use the current master branch, then use the following:

composer require mopa/bootstrap-bundle:dev-master twbs/bootstrap:dev-master

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

composer require mopa/bootstrap-bundle:2.3.x-dev twbs/bootstrap:2.3.2

To understand which versions are currently required have a look into


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

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 Bridge
  • 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


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.


We aim to follow semantic versioning with our releases.


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 LICENSE file in the bundle.