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).

Sigue leyendo Persistir ManyToMany en los dos lados

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.

Sigue 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.

Sigue 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.*).

Sigue 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.

Sigue leyendo Arrays globales en Symfony2