Bonjour à tous, enfin bonsoir !

Je tiens à vous préciser, qu'avant de poster j'ai vérifier que ce problème n'ai pas été déjà signalé avant, car avec mes autres problèmes de compatibilité, j'ai toujours trouvé solution.

Mon problème survient lors de la minute 28 ou 29. Vidéo concerné ( JOUR 4 )
avec la méthode admin_edit :

Dans la vue on fait un formulaire qui doit être pré-rempli par les infos de la bdd.(Système d'administration des users)
Table dans la BDD : username (VARCHAR: 255), password(VARCHAR 255), role(VARCHAR 60).

Tout les champs se remplisse bien, sauf ... role.. alors j'ai rajouté en option du input : 'type' => 'select'.

Ca me fait bien un select mais vide. Je ne sais pas comment pré remplir le champs. Il me semble qu'il en avait parler dans une autre vidéo mais je ne sais plus où et quand, et vu qu'à cause du travaille j'ai du faire une rupture dans mon apprentissage je ne me souviens plus.

Si vous pouvez m'éclairer, ce serait top. Il me reste 20 minute de vidéo pour finir ce tutoriel et là je reste un peu sur ma fin quoi :/.

A bientôt

HiddenNetwoRk

3 réponses


Keisuke
Réponse acceptée

Réglé sur IRC:
Il manque le $this->set($d); dans admin_edit() du controller.
Afin de passer le tableau des rôles à la vue.

@+

hello,

Paste ton code de la view SVP.

@+

Ksom
Auteur

Partie du UsersController concernée

function admin_edit($id=null){
        if($this->request->is('post') || $this->request->is('put')){
            $this->User->save($this->request->data);
        }elseif($id){
            $this->User->id = $id;
            $this->request->data = $this->User->read();
        }
        $d'roles'] = array(
            'admin' => 'admin',
            'user' => 'membre'
        );
    }

admin_edit.ctp (VIEW)

<div class="page-header">
    <h1>Editer un utilisateur</h1>
</div>
<?php echo $this->Form->create('User'); ?>
    <?php echo $this->Form->input('username',array('label'=>'Login')); ?>
    <?php echo $this->Form->input('password',array('label'=>'Mot de passe')); ?>
    <?php echo $this->Form->input('passwordconfirm',array('label'=>'Confirmer le mot de passe','type'=>'password')); ?>
    <?php echo $this->Form->input('role',array('label'=>"Role",'type'=>'select')); ?>
<?php echo $this->Form->end('Envoyer'); ?>