Этот бандл позволяет добавить 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.