Hola,

El 30/04/2008, a las 11:06, Martin Carrillo escribió:

> Como puedo solucionar este tema... hay alguna manera mas elegante sino
> de traer todos los campos de idioma?


si no entiendo mal, tú necesitas que find te devuelva los campos  
traducidos en varias versiones.

Para Cake 1.2 yo resolví eso con un Behavior, combinado con el  
Translate behavior.

http://bin.cakephp.org/view/1305457749

Es un poco chapucero pero sólo tienes que llamar a un método para  
activar la búsqueda multiidioma y luego hacer tus find con normalidad.  
El resultado devuelto trae los campos traducidos en forma de array.

Por ejemplo, si das soporte a eng y spa, la cosa sería menos así:

Añades Multilingual a los behaviors del modelo después de Translate.

Creas una variable de configuración

Configure::write('Config.languages', array('eng', 'spa')); // Idiomas  
soportados

En el modelo, cuando vas a hacer un find, primero llamas a

$this->getLocales();  // Puedes pasar un array para limitar los  
locales que quieres obtener

(también puedes hacerlo en modelos relaciones $this->Related- 
 >getLocales(); )

Luego haces tu find

$this->find('all', $conditions);


El resultado viene en la forma

[field][spa] = 'bla, bla, bla'
[field][eng] = 'blah, blah, blah'

--
Fran Iglesias
[EMAIL PROTECTED]





--~--~---------~--~----~------------~-------~--~----~
Has recibido este mensaje porque estás suscrito a Grupo "CakePHP-es" de Grupos 
de Google.
 Si quieres publicar en este grupo, envía un mensaje de correo 
electrónico a [email protected]
 Para anular la suscripción a este grupo, envía un mensaje a [EMAIL PROTECTED]
 Para obtener más opciones, visita este grupo en 
http://groups.google.com/group/CakePHP-es?hl=es.

-~----------~----~----~----~------~----~------~--~---

Responder a