Yii Framework Forum: Undefined Variable: Model - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Undefined Variable: Model Extension bootstrap Rate Topic: -----

#1 User is offline   A-W 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 6
  • Joined: 10-March 14

Posted 10 March 2014 - 06:17 AM

Bonjour tout le monde,

tout d'abord je suis un nouveau utilisateur de frameword Yii. J'ai commencé à l'utiliser ça fait 10 jours.

Bref, J'ai intégrer l'extension "bootstrap" dans mon projet.

Je voudrais ajouter le widget (voir le code) dans la page index.php de mon veiw.

voilà le code de mon view/site/index.php :

<?php
/* @var $this SiteController */

$this->pageTitle=Yii::app()->name;
?>


<?php $this->widget('bootstrap.widgets.TbBreadcrumbs', array(
    'links'=>array('Library'=>'#', 'Data'),
)); ?>

<?php /** @var BootActiveForm $form */
//$model = new verticalForm;
$form = $this->beginWidget('bootstrap.widgets.TbActiveForm', array(
    'id'=>'verticalForm',
    'htmlOptions'=>array('class'=>'well'),
)); ?>
 
<?php echo $form->textFieldRow($model, 'textField', array('class'=>'span3')); ?>
<?php echo $form->passwordFieldRow($model, 'password', array('class'=>'span3')); ?>
<?php echo $form->checkboxRow($model, 'checkbox'); ?>
<?php $this->widget('bootstrap.widgets.TbButton', array('buttonType'=>'submit', 'label'=>'Login')); ?>
 
<?php $this->endWidget(); ?>



Mais, il m'affiche l'erreur : Undefined variable: model

J'ai pas compris pourquoi ?
0

#2 User is offline   RadicalDingos 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 44
  • Joined: 25-July 13

Posted 10 March 2014 - 08:53 AM

Bonjour,

Si tu as ce message, c'est que le contrôleur concerné par ta requête, à priori SiteController, ne t'envoie pas de variable $model lors de l'appel à sa fonction render. Normalement, dans le fichier controller/SiteController, tu devrais avoir une fonction actionLogin (j'extrapole, tout dépend de l'URL demandée) qui contient à la fin :
$this->render('login', array(
    'model' => $model,
);

Ce code permet d'appeler la vue login en lui passant la variable $model afin qu'elle puisse peupler ton formulaire.
0

#3 User is offline   A-W 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 6
  • Joined: 10-March 14

Posted 10 March 2014 - 09:26 AM

View PostRadicalDingos, on 10 March 2014 - 08:53 AM, said:

Bonjour,

Si tu as ce message, c'est que le contrôleur concerné par ta requête, à priori SiteController, ne t'envoie pas de variable $model lors de l'appel à sa fonction render. Normalement, dans le fichier controller/SiteController, tu devrais avoir une fonction actionLogin (j'extrapole, tout dépend de l'URL demandée) qui contient à la fin :
$this->render('login', array(
    'model' => $model,
);

Ce code permet d'appeler la vue login en lui passant la variable $model afin qu'elle puisse peupler ton formulaire.



Et comment faire pour résoudre le problème ?

Merci beaucoup !
0

#4 User is offline   RadicalDingos 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 44
  • Joined: 25-July 13

Posted 10 March 2014 - 12:16 PM

Je ne peux que te conseiller de lire le guide, notamment concernant les formulaires : http://www.yiiframew...r/form.overview

Sinon, basiquement : visiblement tu es en train de réaliser un formulaire de login. Tu vas donc devoir utiliser un modèle de formulaire afin de gérer les inputs de ce formulaire (login, mot de passe, se souvenir de moi, ...).
C'est ce qui est représenté par la variable $model. Une fois ce modèle créé, tu vas l'instancier dans ton contrôleur, puis tu vas le passer à la vue comme je l'ai précisé précédemment, via la fonction render. Le widget TbActiveForm va lier ce modèle à ton formulaire HTML afin de transmettre les informations lors de la soumission, mais aussi conserver les données déjà saisies si une erreur de validation survient.

Edit : Je ne sais pas si tu utilises l'extension Yii-bootstrap, mais dans ce cas je te conseille d'utiliser plutôt l'extension YiiBooster qui est une très bonne intégration du bootstrap Twitter (elle contient les widgets de Yii-bootstrap) et qui est encore plus complète.
0

#5 User is offline   A-W 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 6
  • Joined: 10-March 14

Posted 11 March 2014 - 08:35 AM

View PostRadicalDingos, on 10 March 2014 - 12:16 PM, said:

Edit : Je ne sais pas si tu utilises l'extension Yii-bootstrap, mais dans ce cas je te conseille d'utiliser plutôt l'extension YiiBooster qui est une très bonne intégration du bootstrap Twitter (elle contient les widgets de Yii-bootstrap) et qui est encore plus complète.


Merci bcp, c'est régler ! :)
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users