TwitterBootstrapBundle для Symfony2

Этот бандл позволяет добавить TwitterBootstrap в свой проект на Symfony2.

Также учтена возможность работы локально (без подключения к сети) или при возможных проблемах с maxcdn.

GitHub

Документация

Для использования бандла можно указать параметры к локальной версии TwitterBootstrap, например:

twitter_bootstrap:
    local_js: '@AppBundle/Resources/public/js/bootstrap.min.js'
    local_fonts_dir: '@AppBundle/Resources/public/fonts/'
    local_css: '@AppBundle/Resources/public/css/bootstrap.min.css'
    local_theme: '@AppBundle/Resources/public/css/bootstrap-theme.min.css'

По умолчанию используются пути из бандла ('@TwitterBootstrapBundle/Resources/public/...') для версии 3.3.4.

Эти файлы будут использоваться, если будут проблемы с сетью (локальная разработка) или при наличии проблем с maxcdn.

Также можно изменить версию TwitterBootstrap, используемую из maxcdn:

twitter_bootstrap:
    version: 3.3.4

Параметр html5 устаналивает дополнительный атрибут 'type="text/javascript"', необходимый для отображения в старых браузерах:

twitter_bootstrap:
    html5: false

По умолчанию html5: true

Параметр async позволяет загружать скрипт в новых браузерах асинхронно.

twitter_bootstrap:
    async: true

По умолчанию async: false

Параметр local_cdn позволяет указывать локальную версию CDN:

twitter_bootstrap:
    local_cdn: 'cdn.domain.com'

По умолчанию cdn не используется

Установка через Composer - менеджер php пакетов

$ composer require evheniy/twitter-bootstrap-bundle "1.*"

Или добавить в composer.json:

"evheniy/twitter-bootstrap-bundle": "1.*"

AppKernel:

public function registerBundles()
    {
        $bundles = array(
            ...
            new Evheniy\TwitterBootstrapBundle\TwitterBootstrapBundle(),
        );
        ...

config.yml:

#TwitterBootstrapBundle
twitter_bootstrap: ~

Или со всеми параметрами:

#TwitterBootstrapBundle
twitter_bootstrap:
    local_js: '@AppBundle/Resources/public/js/bootstrap.min.js'
    local_fonts_dir: '@AppBundle/Resources/public/fonts/'
    local_css: '@AppBundle/Resources/public/css/bootstrap.min.css'
    local_theme: '@AppBundle/Resources/public/css/bootstrap-theme.min.css'
    local_cdn: 'cdn.domain.com'
    version: 3.3.4
    html5: true
    async: false

И Assetic Configuration в config.yml:

#Assetic Configuration
assetic:
    bundles: [ TwitterBootstrapBundle ]

Добавте этот код в основной шаблон:

<html>
    <head>
    ...

    {%- include "TwitterBootstrapBundle:TwitterBootstrap:css.html.twig" -%}
    </head>
    <body>
        ...

        {%- include "TwitterBootstrapBundle:TwitterBootstrap:js.html.twig" -%}
    </body>
</html>

Последний шаг:

app/console assetic:dump --env=prod --no-debug

Лицензия

Этот бандл использует лицензию MIT.

TwitterBootstrap

Теги: Twitterbootstrapbundle, Twitterbootstrap, Symfony2, Twitter, Bootstrap, Cdn


Похожие статьи

SitemapXmlBundle для Symfony2

JqueryBundle для Symfony2

HTML5CacheBundle для Symfony2

GtmBundle (Google Tag Manager) для Symfony2

HTML5VertiTemplateBundle для Symfony2

MaterializeBundle для Symfony2

SimpleTaskFSMBundle для Symfony2

SimplePaginationBundle для Symfony2

RobotsTxtBundle для Symfony2