Этот бандл позволяет добавить TwitterBootstrap в свой проект на Symfony2.
Также учтена возможность работы локально (без подключения к сети) или при возможных проблемах с maxcdn.
Документация
Для использования бандла можно указать параметры к локальной версии 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.