ATUALIZAR
** Uma versão atualizada pode ser encontrada aqui ** https://www.jverdeyen.be/symfony2/bootswatch-bootstrap-symfony2/
Um pequeno guia de introdução sobre como usar / instalar o Twitter Bootstrap em um projeto Symfony2.
composer.json
Primeiro de tudo, adicione o repositório de bootstrap do Twitter em seu composer.json
"repositories": [
{
"type": "package",
"package": {
"version": "2.2.1",
"name": "twitter/bootstrap",
"source": {
"url": "https://github.com/twitter/bootstrap.git",
"type": "git",
"reference": "master"
},
"dist": {
"url": "https://github.com/twitter/bootstrap/zipball/master",
"type": "zip"
}
}
}
]
você também pode querer adicionar o repositório jquery, pois você vai precisar dele para executar os arquivos js de bootstrap
Adicione o seguinte em sua seção necessária
"require": {
..
"symfony/assetic-bundle": "2.1.*",
"leafo/lessphp": "*",
"twitter/bootstrap": "*",
...
},
Execute a atualização do composer para obter os pacotes de que você precisa.
config.yml
Prefiro usar um assetic.yml separado e incluí-lo no arquivo config.yml.
Você terá que baixar cssembed e yuicompressor.
cssembed
yuicompressor
assetic:
java: /usr/bin/java
filters:
cssembed:
jar: %kernel.root_dir%/Resources/java/cssembed-0.4.5.jar
yui_js:
jar: %kernel.root_dir%/Resources/java/yuicompressor.jar
lessphp:
file: %kernel.root_dir%/../vendor/leafo/lessphp/lessc.inc.php
apply_to: ".less$"
assets:
jquery_js:
inputs:
- '%kernel.root_dir%/app/Resources/public/js/vendor/jquery.js'
filters: [?yui_js]
bootstrap_js:
inputs:
- '%kernel.root_dir%/../vendor/twitter/bootstrap/js/bootstrap-transition.js'
- '%kernel.root_dir%/../vendor/twitter/bootstrap/js/bootstrap-alert.js'
- '%kernel.root_dir%/../vendor/twitter/bootstrap/js/bootstrap-modal.js'
- '%kernel.root_dir%/../vendor/twitter/bootstrap/js/bootstrap-dropdown.js'
- '%kernel.root_dir%/../vendor/twitter/bootstrap/js/bootstrap-scrollspy.js'
- '%kernel.root_dir%/../vendor/twitter/bootstrap/js/bootstrap-tab.js'
- '%kernel.root_dir%/../vendor/twitter/bootstrap/js/bootstrap-tooltip.js'
- '%kernel.root_dir%/../vendor/twitter/bootstrap/js/bootstrap-popover.js'
- '%kernel.root_dir%/../vendor/twitter/bootstrap/js/bootstrap-button.js'
- '%kernel.root_dir%/../vendor/twitter/bootstrap/js/bootstrap-collapse.js'
- '%kernel.root_dir%/../vendor/twitter/bootstrap/js/bootstrap-carousel.js'
- '%kernel.root_dir%/../vendor/twitter/bootstrap/js/bootstrap-typeahead.js'
- '%kernel.root_dir%/../vendor/twitter/bootstrap/js/bootstrap-affix.js'
filters: [?yui_js]
bootstrap_less:
inputs:
- '%kernel.root_dir%/../vendor/twitter/bootstrap/less/bootstrap.less'
filters: [lessphp,cssembed]
layout.html.twig
Para fazer isso funcionar, precisamos adicionar esses ativos em nosso modelo de layout (ou qualquer outro)
{% block javascripts %}
{% javascripts '@jquery_js' '@bootstrap_js' filter='?yui_js' combine=true %}
<script src="{{ asset_url }}"></script>
{% endjavascripts %}
{% endblock %}
{% block stylesheets %}
{% stylesheets '@bootstrap_less' combine=true %}
<link href="{{ asset_url }}" type="text/css" rel="stylesheet" />
{% endstylesheets %}
{% endblock %}
Isso deve funcionar!