Foros del Web » Programando para Internet » PHP » Symfony »

[SOLUCIONADO] Duda sobre SonataAdminBundle

Estas en el tema de Duda sobre SonataAdminBundle en el foro de Symfony en Foros del Web. Hola, He instalado y configurado correctamente el gran SonataAdminBundle. Lo recomiendo desde ya. Mi duda me ha surgido a la hora de tener también instalado ...
  #1 (permalink)  
Antiguo 11/04/2013, 08:21
 
Fecha de Ingreso: enero-2012
Mensajes: 64
Antigüedad: 12 años, 11 meses
Puntos: 0
Pregunta Duda sobre SonataAdminBundle

Hola,

He instalado y configurado correctamente el gran SonataAdminBundle. Lo recomiendo desde ya. Mi duda me ha surgido a la hora de tener también instalado y configurado el FOS.

En la doc de Sonata dice que ya viene integrado, por lo que mi pregunta es, el ¿FOS puedo eliminarlo? O necesita Sonata que este configurado. Lo digo porque a la hora de hacer el login entro a través del FOS y luego ya accedo a Sonata.

Gracias de antemano!
Saludos
  #2 (permalink)  
Antiguo 11/04/2013, 09:24
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 11 meses
Puntos: 845
Respuesta: Duda sobre SonataAdminBundle

FOS no viene integrado por default en Sonata, la integración se hace a través de SonataUserBundle(y este depende de FOS)

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #3 (permalink)  
Antiguo 16/04/2013, 07:30
 
Fecha de Ingreso: enero-2012
Mensajes: 64
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: Duda sobre SonataAdminBundle

Aprovecho que sigo con Sonata AdminBundle y me he vuelto a encontrar con un dilema.

Estoy intentando subir una imagen desde el panel de administración y funciona correctamente pero la foto no se ve porque se guarda en un directorio temporal. ¿Se puede configurar el bundle para decirle dónde subir las imagenes y también como guardarla en la BBDD (en este caso sólo guardaría el nombre de la propia imagen). He visto que sonata tiene el MediaBundle, ¿es esta la solución? ¿usáis alguna otra?

Gracias de antemano!
  #4 (permalink)  
Antiguo 16/04/2013, 11:14
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 11 meses
Puntos: 845
Respuesta: Duda sobre SonataAdminBundle

MediaBundle es la forma mas sencilla de integrar multimedia( y la vez abstraerse del filesystem ;) )
__________________
http://es.phptherightway.com/
thats us riders :)
  #5 (permalink)  
Antiguo 17/04/2013, 05:31
 
Fecha de Ingreso: enero-2012
Mensajes: 64
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: Duda sobre SonataAdminBundle

He probado a instalar el MediaBundle y no es exactamente lo que necesito. Lo que yo necesito es que cuando estoy administrando una entidad, como ejemplo Noticias, y pretendo añadir una nueva noticia, en el formulario al poner tipo file me permita por un lado decirle dónde subir la imagen y por otro en la base de datos poner únicamente el nombre de la imagen para luego formar la ruta completa en una plantilla.

Por más que busco soluciones ninguna me adapta a lo que busco. ¿Conocéis alguna manera de poder hacer esto?

Saludos!
  #6 (permalink)  
Antiguo 18/04/2013, 04:06
 
Fecha de Ingreso: enero-2012
Mensajes: 64
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: Duda sobre SonataAdminBundle

¿Algún comentario?

He intentado usar MediaBundle, pero me parece demasiado lioso de cara a algún tercero que pretenda, por ejemplo en el caso de una noticia subir una imagen.

No se puede "personalizar" de algún modo el controlador de SonataAdminBundle para poder hacerlo directamente sin usar MediaBundle?

Por otro lado en mediaBundle, he conseguido guardar una imagen en el directorio que le he dicho, pero luego como puedo acceder a la imagen o asociarla a la imagen de una noticia en concreto.

Me resulta demasiado lioso, para una cosa tan simple como subir una imagen al servidor y mostrarla en un post de un blog. ¿Alguien se le ocurre algo?

Gracias de antemano por los aportes!
Saludos
  #7 (permalink)  
Antiguo 18/04/2013, 05:33
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 11 meses
Puntos: 845
Respuesta: Duda sobre SonataAdminBundle

Es "lioso" si no se lee la documentación del bundle,

Usage
Integration

de todas formas nada te impide hacerlo desde 0, siguiendo la guía de symfony para el manejo de archivos no deberías tener mayores problemas.

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #8 (permalink)  
Antiguo 19/04/2013, 02:41
 
Fecha de Ingreso: enero-2012
Mensajes: 64
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: Duda sobre SonataAdminBundle

Hola de nuevo,

Ante todo gracias por tus aportes, siempre estas aquí respondiendo a los que, como yo, estamos aprendiendo.

Mira te cuento, había leído la docu pero no terminaba de comprender. He generado un contexto llamado "notices". He leído que te permite crear un campo del tipo "sonata_type_model_list":

Código:
->add('image', 'sonata_type_model_list', array(), array('link_parameters' => array('context' => 'notices')))
En la docu además ponen este trozo de código:

Código:
<many-to-one
    field="image"
    target-entity="Application\Sonata\MediaBundle\Entity\Media"
    >
    <cascade>
        <cascade-all/>
    </cascade>
</many-to-one>
¿Dónde va esto? ¿Y sobre todo, para que sirve? No lo explican muy bien, o yo no sé comprenderlo.

El caso es que cuando intento añadir el campo al formulario "Sonata_type_model_list" me salta el siguiente error que no entiendo para nada, ya que no se que pinta el campo id:

Item "id" for "" does not exist in SonataDoctrineORMAdminBundle:Form:form_admin_field s.html.twig at line 59

Gracias de verdad, los que estamos atascados como yo, no te imaginas lo que nos ayudas!

Saludos
  #9 (permalink)  
Antiguo 19/04/2013, 05:55
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 11 meses
Puntos: 845
Respuesta: Duda sobre SonataAdminBundle

Media es una entidad, simplemente tienes que relacionarla a tu entidades, osea en vez de tener una propiedad image que sea un string con el nombre de la imagen tienes una relación con una entidad.

Los pasos serian, mapear la entidad, actualizar la bbdd y luego agregar al admin.

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #10 (permalink)  
Antiguo 26/04/2013, 02:49
 
Fecha de Ingreso: enero-2012
Mensajes: 64
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: Duda sobre SonataAdminBundle

Gracias como siempre.

Mira estoy intentado hacer la relación de mi entidad "notices" hacia la entidad "media" y me salta el siguiente error:

[Doctrine\DBAL\DBALException]
An exception occurred while executing 'ALTER TABLE notices ADD CONSTRAINT F
K_6E2C61D24FC2B5B FOREIGN KEY (Image) REFERENCES media__media (id)':

SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update
a child row: a foreign key constraint fails (`test_test`.`#sql-8f8_
18`, CONSTRAINT `FK_6E2C61D24FC2B5B` FOREIGN KEY (`Image`) REFERENCES `medi
a__media` (`id`))

[PDOException]
SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update
a child row: a foreign key constraint fails (`test_test`.`#sql-8f8_
18`, CONSTRAINT `FK_6E2C61D24FC2B5B` FOREIGN KEY (`Image`) REFERENCES `medi
a__media` (`id`))

Si te acuerdas, yo trabajo con ficheros YML para mapear las entidades con la BBDD. Esta es la relación:

Código:
manyToOne:
        image:
            targetEntity: Application\Sonata\MediaBundle\Entity\Media
            cascade: {  }
            mappedBy: null
            inversedBy: null
            joinColumns:
                Image:
                    referencedColumnName: id
            orphanRemoval: false
Muy probablemente este haciendo algo mal, pero le estoy dando vueltas y nada. ¡El campo a enlazar es el "id"?

Gracias amigo!

Saludos
  #11 (permalink)  
Antiguo 26/04/2013, 06:12
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 11 meses
Puntos: 845
Respuesta: Duda sobre SonataAdminBundle

Eso ya no es un tema de doctrine en si, es un tema de mysql, lo mas sencillo es "tirar" la bbdd y volver a generarla.

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #12 (permalink)  
Antiguo 30/04/2013, 04:20
 
Fecha de Ingreso: enero-2012
Mensajes: 64
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: Duda sobre SonataAdminBundle

Ya tengo todo funcionando OK. Me gustaría poder rematar toda la parte de administración de una web con ciertos retoques y con mediaBundle me han surgido un par de dudas:

¿Se puede modificar la ruta donde se guardan las imágenes que sube el usuario? Ya que se crean automaticamente carpetas para guardar todas las imagenes.

Y la otra es que parece que no coge correctamente las etiquetas del bundle, ni las de inglés ni la de la "supuesta" traducción al castellano. Mi duda es si se puede modificar, o es algo de la configuración pero es que no he leído nada al respecto.
Lo digo porque las labels del media bundle me salen así por ejemplo:

label.select_context
default
notices
label.select_provider
link.all_providers
sonata.media.provider.dailymotion
sonata.media.provider.youtube
sonata.media.provider.image
sonata.media.provider.file

Esto es todo el menu superior cuando entras a la seccion media del bundle.

Espero haberme explicado correctamente.

Como siempre gracias por todo!
Un saludo
  #13 (permalink)  
Antiguo 30/04/2013, 22:13
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 11 meses
Puntos: 845
Respuesta: Duda sobre SonataAdminBundle

Las key's de los path's las tienes en advanced configuration, con respecto a las traducciones, tienes seteado el default language en el config.yml ?
__________________
http://es.phptherightway.com/
thats us riders :)
  #14 (permalink)  
Antiguo 06/05/2013, 02:47
 
Fecha de Ingreso: enero-2012
Mensajes: 64
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: Duda sobre SonataAdminBundle

Hola de nuevo,

Imagino que te refieres a esto:

default_locale: "%locale%"

Y locale está definido en parameters.ini como "es", para el resto de bundles funciona menos para el media bundle. ¿Habría que modificar o añadir algo?

Gracias
  #15 (permalink)  
Antiguo 06/05/2013, 12:38
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 11 meses
Puntos: 845
Respuesta: Duda sobre SonataAdminBundle

No exactamente, comprueba la key translator, tienes seteado el fallback ?
__________________
http://es.phptherightway.com/
thats us riders :)
  #16 (permalink)  
Antiguo 07/05/2013, 01:47
 
Fecha de Ingreso: enero-2012
Mensajes: 64
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: Duda sobre SonataAdminBundle

Si, esta seteado: translator: { fallback: "%locale%" }

Con la mísma variable que antes te comenté...

Saludos!!
  #17 (permalink)  
Antiguo 27/05/2013, 03:11
 
Fecha de Ingreso: enero-2012
Mensajes: 64
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: Duda sobre SonataAdminBundle

Hola de nuevo,

Sigo pendiente de solucionar el tema de la traducción. ¿Habría que realizar alguna configuración más?

No encuentro la forma de "traducir" las label, ya sea en inglés o en Español me aparecen las label de esta forma:

sonata.media.provider.dailymotion
sonata.media.provider.youtube
sonata.media.provider.image
sonata.media.provider.file

Gracias de antemano por la ayuda! Me estoy volviendo loco...
Saludos
  #18 (permalink)  
Antiguo 28/05/2013, 01:11
 
Fecha de Ingreso: enero-2012
Mensajes: 64
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: Duda sobre SonataAdminBundle

Bueno parece que limpiando la caché se ha resuelto el problema. Creo que ha sido eso, el caso que por fin me aparecen correctamente las etiquetas.

Saludos y gracias por el apoyo.

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:02.