2012-08-14 3 views
21

Me encontré con Twitter Bootstrap hoy, en SO. He desnatada a través de algunos tutoriales en línea y si mi entendimiento hasta la fecha es correcta, utilizando la TB consiste esencialmente en:Symfony2 y Twitter Bootstrap

  1. Descarga de la tuberculosis, la extracción de los archivos CSS, etc.
  2. referencia a la CSS se requiere, archivos JS en su Documento HTML y con los patrones CSS definidos

Quiero utilizar Twitter Bootstrap con Symfony2. Dado mi conocimiento de cómo usar TB, pensé que sería relativamente fácil usarlo con Symfony, así que me sorprendió bastante ver que hay (de hecho varios) paquetes para usar con Symfony.

Así que mis preguntas son:

  1. ¿Por qué es un paquete necesario para usar Twitter Bootstrap con Symfony2? - ¿No funcionará el método que expliqué anteriormente (es decir, agregando las referencias directamente en una plantilla twig)?

  2. ya que hay varias Twitter Bootstrap paquetes disponibles (en el último recuento, hay 3), que es el más fácil de usar (tiene que ser uno que se apoyó activamente con commits recientes, y no un proyecto muerto)

Respuesta

32

Estoy bastante seguro de que estos paquetes son geniales, pero tienen ventajas y desventajas. También puede usar TB sin un paquete directamente en su proyecto. Eso es lo que yo personalmente hago, de esa manera:

  • git clone TB en web/(para conseguir últimas actualizaciones y mantener actualizado)
  • llamo directamente bootstrap.less en mis plantillas ramita con Assetic y menos del filtro. De esa forma, puedo crear mis propios archivos .less que @imports TB y usar sus asombrosas mixins, por ejemplo.

Es realmente potente de esta manera. Junto con el yui-compressor, cuando uso Assetic en el modo sin depuración, todos mis js y menos archivos se compilan en una única salida .css y una salida .js única. Y puede beneficiarse de todas las funcionalidades de TB, en .less, not .css

+0

Gracias por su pronta respuesta. ¡Eres un salvavidas!. Me estaba arrancando el pelo, en qué dirección ir. Cuando tengas un momento, ¿podrías elaborar un poco más? Un pequeño fragmento que muestre una plantilla de rama usando Assetic, yui-compressor, etc., configuración de configuración requerida, etc. será excelente, ya que gran parte de esto es una nueva tecnología para mí. Gracias –

+3

Este libro de cocina debe ser perfecto para usted: http://symfony.com/doc/current/cookbook/assetic/yuicompressor.html;) – guillaumepotier

+0

+1 para el enlace. –

3

Puede usar Twitter Boostrap (TB) para agregar solo CSS a su proyecto. Y luego, tienes un punto de partida para hacer algo más visual que empezar desde cero. Como describiste en la primera parte.

Pero, también puedes recuperar más cosas interesantes de un paquete que maneja la integración de plantillas con TB. Por ejemplo:

Por ejemplo, con Symfony 1.4 (Sé que este post habla de SF2), que tiene un plugin que puede agregar una nuevo tema para el generador de administración para tener una buena integración de TB en lugar de la predeterminada. Sé que no hay un generador de administrador oficial en sf2, pero puede usarse para CRUD.

Otra cosa que puede ser cierto desde Symfony 1.0, no todos los paquetes están muy bien implementados, desarrollados, mantenidos, probados, documentados, etc. (excepto los del equipo central (FOS * Bundle, Doctrine, Propel, etc.)). Así que te recomiendo que los pruebes todos, ve si alguno de ellos se ajusta a tus necesidades, de lo contrario, inspírate para mejorarlos (casi todos están en github) o construye el tuyo propio.

Y por cierto, hay many Bundle ..

7

Hay 2 grandes paquetes que proporciona integración con Twitter Bootstrap Symfony:

En mi opinión:

MopaBootstrapBundle es más complejo, ofrece su propia estructura de diseño (de causa puede crear su propia también) y gran cantidad de funcionalidad definida, Assetic adicional, las formas y la integración de otros

BcBootstrapBundle es más simple y mucho más clara utiliza su propia estructura de diseño y hay una gran cantidad de funcionalidad definida, Assetic adicional, formularios y otra integración demasiado

literatura no toman en cualquier paquete de intergtaion también es una opción, pero la integración suelto con formas, Assetic, menos y entonces (como @Acyra mencionó en su comentario)

Prefiero usar BcBootstrapBundle con su funcionalidad de integración adicional y usar mi propia estructura de diseño personalizada.

1

ACTUALIZACIÓN a Symfony y Bootstrap: Symfony siempre parece un poco atrasado en los detalles de su documentación así que aquí hay una actualización de Symfony. La versión 2.6 y superior ahora incluye integración básica con Twitter Bootstrap.

http://symfony.com/blog/new-in-symfony-2-6-bootstrap-form-theme

Esperamos que esto ahorra tiempo y alguien puede conseguir que funcione como explican en la documentación de Symfony arriba!

+0

pero ¿qué hay dentro de los paquetes de terceros?como Fos UserBundle – Dheeraj

+1

Según la documentación de Symfony, incorporar Bootstrap debería ser tan fácil como ampliar la vista del tema o incrustar uno de los fragmentos en estos documentos. Como Bootstrap es una biblioteca principalmente de JS y CSS, cualquier paquete debe poder acceder a estos activos. "El nuevo tema de formulario viene en dos formas: diseño normal y diseño horizontal. Para aplicar este nuevo tema a todas las formas de su aplicación, use la siguiente configuración: {% form_theme form 'bootstrap_3_layout.html.twig'% } {# {% form_theme form 'bootstrap_3_horizontal_layout.html.twig'%} #} " –