Estoy utilizando el behavior Translate para mostrar el contenido de
algunos campos según el idioma actual. Pero sucede que esto funciona
cuando se hacen consultas (read, find, findAll) directamente sobre el
modelo que tiene el behavior Translate asociado, en los casos donde
los resultados de este modelo se devuelven al consultar modelos
relacionados, el behavior no se aplica.
Por ejemplo:

Modelo:
Topicos --(hasMany)--> Mensajes
Topicos --(actsAs)--> TranslateBehavior

Mensaje --(belongsTo)--> Topicos

En el controlador correspondiente:
Esto devuelve el resultado con las traducciones correspondientes:
$this->Topicos->findAll();

Esto devuelve el resultado sin traducciones:
$this->Mensajes->findAll();

Por lo que pude llegar a ver, faltaría hacer recursivo el siguiente
código de Model::findAll()
Desde linea 1439 ($Revision: 5625 )
----------------------------
                if (!empty($this->behaviors)) {
                        $b = array_keys($this->behaviors);
                        $c = count($b);
                        debug($b);
                        for ($i = 0; $i < $c; $i++) {
                                $ret = 
$this->behaviors[$b[$i]]->afterFind($this, $results, true);
                                if (is_array($ret)) {
                                        $results = $ret;
                                }
                        }
                }
----------------------------

En estas líneas se aplica el behavior del modelo, pero debería
aplicarse también a todos los modelos que intervienen en el resultado.

Por favor, si estoy haciendo algo equivocado, me avisan.
Saludos


--~--~---------~--~----~------------~-------~--~----~
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