El post de hoy tratará sobre como traducir nuestra aplicacion web hecha con Symfony 2 a distintos idiomas y no morir en el intento. (Que va, es mucho mas sencillo ya vereis...) Lo primero, voy a usar un bundle muy famoso de los que más soporte tienen y que me gusta mucho porque aparte de …
Doctrine Migrations Bundle o actualizaciones de datos incrementales
Uno de los problemas que surgen cuando usamos DataFixtures o datos de pruebas es que creamos muchas fixtures para que la base de datos tenga la informacion necesaria antes de lanzar la aplicacion a producción y que pueda funcionar todo a la perfección para aquellas tablas que solo contienen informacion acotada para campos <select> por …
Sigue leyendo Doctrine Migrations Bundle o actualizaciones de datos incrementales
Enviar email desde SwiftMailer con Hotmail
Despues de buscar informacion por todos los lados no he encontrado apenas documentacion acerca de configurar SwiftMailer para el envio de emails desde nuestra cuenta de Hotmail. La unica forma de hacerlo que he hecho funcionar es la siguiente: - En el action del controlador donde queremos enviar el email debemos hacerlo así: $transport = …
Formularios: Coleccion no mapeada en la entity usando un DTO
Si no has leido mi anterior "trick" acerca del uso de los DTOs en los formularios, deberias visitar antes este link. En este ejemplo, necesitaba varios campos que no estan mapeados en la entity de la cual nace el formulario. Para ello, no he tenido mas remedio que añadir un nuevo campo "No mapeado". Este campo …
Sigue leyendo Formularios: Coleccion no mapeada en la entity usando un DTO
Formularios: Sobrescribir template de un widget – Personalización
En esta ocasión os voy a hablar sobre como sobrescribir un form_widget de los que se usa en los formularios para personalizarlo a nuestro gusto. En mi caso, tengo configurado para que Symfony coja las plantillas definidas en sus Form Themes,las cuales meten elementos HTML definidos para que se ajusten a un estilo concreto. Eso …
Sigue leyendo Formularios: Sobrescribir template de un widget – Personalización
Uso del operador IN en consultas DQL de Doctrine y otros operadores SQL
A menudo tengo la necesidad de usar el operador IN dentro del WHERE de una consulta DQL con Doctrine y casi siempre se me olvida como usarlo. Para ello voy a explicar como usarlo a continuación con un ejemplo: - Imaginamos que tenemos un array con los posibles valores que queremos seleccionar en la parte …
Sigue leyendo Uso del operador IN en consultas DQL de Doctrine y otros operadores SQL
Herencia entre entidades y consultas DQL relacionadas
Una de las características que tiene Doctrine es que se puede usar la herencia de clases para representar aquellas tablas que heredan de una tabla "base". Pongamos un ejemplo: Tenemos una tabla Rol ("padre") y de ella heredan 3 tipos de roles distintos(RolPlataforma, RolOrganizacion, RolEdicion), pero que comparten los mismos atributos que la tabla Rol …
Sigue leyendo Herencia entre entidades y consultas DQL relacionadas
Uso de Data Transfer Objects (DTO) en formularios
Uno de los problemas que a veces nos encontramos en los formularios a menudo, es que necesitamos mostrar campos que no existen en nuestra entidad directamente ya que puede que necesitemos esos campos para construir un determinado objeto en funcion de las opciones que haya elegido. En mi caso, tengo un formulario en el que aparecen …
Sigue leyendo Uso de Data Transfer Objects (DTO) en formularios
Uso de Voters para el control del acceso de usuarios en zonas
Los voters son un elemento de Symfony para darle una vuelta de tuerca al las listas de acceso - ACL (Access Control List) de Symfony donde podemos validar con mas profundidad si un recurso esta disponible para un usuario. Aqui la documentacion oficial. A continuacion explicare un ejemplo mas concreto donde lo he usado. La …
Sigue leyendo Uso de Voters para el control del acceso de usuarios en zonas
Crear un bundle distribuible para Symfony 2
Hoy voy a explicar como se puede hacer un bundle para Symfony 2 distribuible y descargable para otros proyectos tuyos o de tipo Open Source y que cualquiera lo pueda descargar y usar en su proyecto. Después de buscar y buscar documentación acerca de crear tus propios bundles y poder distribuirlos para la comunidad, por …