/MopaBootstrapBundle

Easy integration of twitters bootstrap into symfony2

Primary LanguageJavaScriptOtherNOASSERTION

MopaBootstrapBundle

MopaBootstrapBundle is a collection of code to integrate twitter's bootstrap (http://twitter.github.com/bootstrap/) as easy as possible into your symfony2 (http://www.symfony.com) 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

NOTICE:

Recent BC breaks:

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

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.

Branches

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

{
    "require": {
        "mopa/bootstrap-bundle": "v3.0.0-beta2",
        "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 BRANCHES.md

Documentation

The bulk of the documentation is stored in the Resources/doc/index.md 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

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 (https://github.com/knplabs/KnpPaginatorBundle)
  • twig templates for CraueFormFlowBundle (https://github.com/craue/CraueFormFlowBundle)
  • twig template for KnpMenuBundle (https://github.com/KnpLabs/KnpMenuBundle)
    • icon support on menu links

Recently added Features

Tabs

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

initializr

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 (50-Initializr.md).

Warning

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

Translations

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.

Contribute

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

License

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