Único item de KnpMenuBundle

Unos de los bundles indispensables para practicamente el 100% de mis desarrollos con Symfony2 es KnpMenuBundle.

Cuando lo estamos utilizando, por multitud de motivos, es posible que necesitemos mostrar un único item de toda la estructura de nuestro menú.

Conseguirlo es una tarea bastante sencilla, y es el motivo de este post, voy a explicarlo ahora mismo.

Continúa leyendo Único item de KnpMenuBundle

Funciones reutilizables en controladores

En nuestros proyectos con Symfony necesitamos en muchas ocasiones, crear funciones reutilizables, que son utilizadas varias veces desde distintos Actions en nuestros Controllers.

En esta ocasión, vamos a crear una clase con varios métodos, creando un Service para una utilización más sencilla en todos los Controllers que deseemos.

Continúa leyendo Funciones reutilizables en controladores

Fixtures SonataUserBundle en Symfony2

En ocasiones, necesitamos dotar de contenidos a nuestra base de datos, ya sean datos reales o de prueba.

Symfony por si mismo, no ofrece ningún sistema para gestionar fixtures, pero estamos de suerte, Doctrine2 tiene una librería que nos permite escribirlos, DoctrineFixturesBundle.

Continúa leyendo Fixtures SonataUserBundle en Symfony2

Como utilizar netbeans «intellisense» en servicios de Symfony2

Si estamos trabajando con NetBeans en nuestro proyecto de Symfony, echamos en falta que el texto predictivo y auto-completado funcione sobre los servicios utilizados.

Ya que el IDE, NetBeans, no lo reconoce, tenemos que forzarlo por nosotros mismos.

Solo necesitamos alguna anotación en nuestro código para conseguirlo.

Continúa leyendo Como utilizar netbeans «intellisense» en servicios de Symfony2

Persistir ManyToMany en los dos lados

Vamos a ver el modo de que las entidades relacionadas persistan, ManyToMany, desde los 2 sitios (owner y inversed)

Para persistir la entidad relacionada desde la entidad owner, no hay problema, todo funciona perfectamente, el problema viene cuando queremos persistir desde la entidad inversa (inversed).

Continúa leyendo Persistir ManyToMany en los dos lados

Validación datos dependientes en entidad Symfony2

Al aprender php o cualquier otro lenguaje de programación, llegamos a la situación de tener que validar datos, cuando unos campos están completados o no. Es una tarea bastante habitual cuando desarrollamos proyectos web.

Symfony2 nos permiten de un modo bastante sencillo realizar estas validaciones (validation) dependientes entre campos de la misma entidad (entity)

Continúa leyendo Validación datos dependientes en entidad Symfony2

Icono junto a thumbnail en listados items SonataMediaBundle

En ocasiones podemos tener varios sonata.media.providers asignados a un mismo contexto (context). Si estos generan thumbnails, en el listado de items en SonataAdminBundle no podemos distinguir que provider es cada uno.

Para solucionarlo podemos mostrar junto al thumbnail un icono que nos indique el provider al que pertenece.

Continúa leyendo Icono junto a thumbnail en listados items SonataMediaBundle

Como actualizar FontAwesome en SonataAdminBundle 2.3

En esta versión de SonataAdminBundle, se utiliza la versión 4.0.3 de FontAwesome.

Si estamos trabajando y nos vemos en la necesidad de utilizar iconos que no están en esta versión, podemos actualizar a la 4.4.0, que podemos encontrar en SonataCoreBundle 2.3.10.

Continúa leyendo Como actualizar FontAwesome en SonataAdminBundle 2.3

Filtros por Proveedor (sonata.media.provider) de archivos Media en SonataAdmin

Crear un filtro en una Admin Class de SonataAdminBundle es una tarea bastante sencilla.

Si vamos un poco más allá, podemos necesitar configurar un filtro de una propiedad de una entidad relacionada con la que estamos administrando.

Supongamos que tenemos una entidad Prensa, con un campo relacionado con un Media de SonataMediaBundle, y queremos filtrar el listado por el tipo de proveedor del Media (sonata.media.provider.*).

Continúa leyendo Filtros por Proveedor (sonata.media.provider) de archivos Media en SonataAdmin

Arrays globales en Symfony2

Arrays globales, cuando es importante tener bien definidas las opciones que están disponibles en los selects de administración y que en el Frontend condicionan comportamientos concretos.

Para no equivocarnos en ningún lugar donde los utilicemos y no tener que reescribirlo una y otra vez, podemos crear un array a nivel global.

Continúa leyendo Arrays globales en Symfony2