Bonjour,
je suis entrain d'internationaliser une application mais j'ai quelques difficultés au niveau de l'enregistrement des contenu ( fre, et eng) dans la base de données.
voici mes codes

public function edit($id=null) {

         $user_id=$this->Auth->User('id');
         if(!$user_id){
        $this->redirect('/users/login');
          die();
        }

        $this->Cabinet->id = $id;
        if (!$this->Cabinet->exists()) {
            throw new NotFoundException(__("Contenu indispobible"));
        }
        if ($this->request->is('post') || $this->request->is('put')) {
            $d= $this->request->data;
            $this->Cabinet->locale=Configure::read('Config.languages');
            debug($this->Cabinet->locale=Configure::read('Config.languages'));
            debug($this->request->data);
            if($this->Cabinet->Save(array('id'=>$d'Cabinet']'id'],'contenu'=>$d'Cabinet']'contenu']))) {
                $this->redirect(array('action' => 'visualiser'));
              } 
               } else {

            $this->request->data=$this->Cabinet->readAll(null,$id);

        }
 }

Edit.ctp

<?php echo $this->Form->create('Cabinet');?>
            <?php foreach(Configure::read('Config.languages')as $lang):?>
                <b>EDITER CONTENU CABINET </b> <?php echo $lang;?>
            <p><?php echo $this->Form->input('Cabinet.id');?></p>
            <p><?php echo $this->Form->input('Cabinet.contenu.'.$lang,array('type'=>'textarea','label'=>false,'class'=>'form-control'));?></p><br />
            <?php endforeach;?>

                <p align="center"><?php echo $this->Form->submit('MODIFIER',array('class'=>'btn btn-success','style'=>'width:150px;'));?></p>
                <?php echo $this->Form->end();?>

Mon problème c'est que je n'arrive pas enregistrer les deux contenus dans la BDB, j'ai cette erreur:Database Error

Error: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'Array' in 'field list'.
Comment enregister les deux contenus par rapport aux diffétentes locale.
Merci

2 réponses


Bonsoir.
C'est normal que tu aies une erreur lors de la sauvegarde, étant donné que tu envoies "plusieurs enregistrements" sur un simple save.
Je te conseille fortement de voir/revoir le tutoriel vidéo sur l'internationalisation, de Grafikart pour mieux comprendre comment utiliser le Behabior (comportement) Translate, car tu ne l'utilise pas de la bonne manière actuellement.

wenz
Auteur

Merci Lartak11 pour ta réponse, j'ai suivi plusieurs fois le tuto de grafikart mais je n'arrive pas à comprendre comment il a sauvegardé les deux tableau, avec système de behavior, il a parlé d'utiliser ce code

$this->Poste->locale=Configure::read('Config.languages');

pour préciser l'enregistrement des deux tableau mais quand je le fait rien, tu peux m'expliquer un peu le pricipe stp.
Meric