Bonjour,

J'ai suivi 2 tutoriels de ce sites et j'ai un problème qui m'embête beaucoup.

J'ai d'abord suivi le tutoriel sur l'authentification (lors de la création d'un blog), avec le composant 'auth', tout fonctionne parfaitement.

J'ai ensuite suivi le tutoriel sur l'internaitonalisation, et encore une fois tout marche parfaitement.

Cependant, il m'est impossible de faire fonctionner ces 2 derniers ensembles.

En fait, dans mon app_controller et la fonction before filter, pour le login j'ai :

function beforeFilter(){
    $this->Auth->authError ='Zone réservée';
    $this->Auth->loginError = 'Login ou mot de pass incorrect';
    $this->Auth->logoutRedirect = array('controller'=>'cars', 'action'=>'index');
    $this->Auth->loginRedirect = array('controller' => 'cars', 'action' => 'index');
}

Et pour l'internationalisation (dans before filter aussi):

if(!$this->Session->read('User.language'))
{
    //on met le language par défaut celui qui est dans le bootstrap
    $this->Session->write('User.language', Configure::read('Config.language'));
}
if(isset($this->params'language']))
{
    if(in_array($this->params'language'], Configure::read('Config.languages')))
    {
        $this->Session->write('User.language', $this->params'language']);
    }
}
Configure::write('Config.language', $this->Session->read('User.language'));
$this->params'language'] = $this->Session->read('User.language');

Ce qui me fais penser que le problème vient d'içi est que si je commente l'une des 2 portions de code dans le before filter, ça fonctionne...( ils fonctionnent donc indépendamment...)

Voilà, je ne vois pas du tout d'où peut venir le soucis, je tire ce code des tutos de ce site, si vous pouviez m'aider :) merci

1 réponse


Salut,
Pour avoir développé une application multilingue avec cakephp je peux te dire que cela fonctionne
Mais suivant ce que tu veux faire tu dois faire bcp de modifs car le behavior i18n de cake montre ses limites.
Par contre en regardant comme ça, je ne vois pas trop , tu as quel version de cakephp?
Dans le beforefilter rajoute avant tout autres code ceci, car j'ai déjà eu quelques problèmes sans la déclaration du parent.

Parent::beforeFilter()

Je sais pas si ça va résoudre ton problème, à essayer