Este foro ya no está activo, así que no puedes publicar nuevas preguntas ni responder a las preguntas existentes.

Traducción de slugs mediante los event listener de Doctrine

28 de julio de 2014

Hola, tengo una aplicación en varios idiomas, uso DoctrineExtensions para ello, pero tengo problemas con la traducción del campo slug. Leyendo la documentación de DoctrineExtensions veo que tenemos la posibilidad de que esto lo haga el, pero no consigo saber dónde se debe de poner esto que dice en la documentación de Sluggable:

Using TranslationListener to translate our slug

If you want to attach TranslationListener also add it to EventManager after the SluggableListener. It is important because slug must be generated first before the creation of it`s translation.

$evm = new \Doctrine\Common\EventManager();
$sluggableListener = new \Gedmo\Sluggable\SluggableListener();
$evm->addEventSubscriber($sluggableListener);
 
$translatableListener = new \Gedmo\Translatable\TranslationListener();
$translatableListener->setTranslatableLocale('en_us');
 
$evm->addEventSubscriber($translatableListener);

Como no lo conseguía se me ocurrió hacer un listener con prePersist para generar el slug. Consigo que me lo haga con el idioma principal ya que eso lo trata con normalidad, pero no consigo que me lo haga para el inglés, ya que la entidad que obtengo en prePersist no introduce en el campo translatable el contenido que mando con el formulario. Creo que es debido a que esto lo hace DoctrineExtensions en su propio prePersist pero claro este se ejecuta después del mío.

Ahora la pregunta es: ¿sabéis donde poner ese código que dice DoctrineExtensions? y ¿sabéis como hacer para que un evento se ejecute antes que otro?

Saludos


Respuestas

#1

Vale, pues al parecer no es eso que he dicho, no me mandaba los datos porque había un error en un suscriptor que tengo para crear los elementos de traducción, al parecer, con tantos intentos modifique algo que no volví a poner a su estado.

Eso sí si alguien sabe como se pone Lo que dice doctrineExtensions pues me vendría bien que seguro que está mejor hecho que lo mio.

@AlbertoVioque

28 julio 2014, 20:55