Cet article vous présente principalement comment utiliser les widgets de formulaire dans Yii 2.0. L'introduction dans l'article est très détaillée et a une certaine valeur d'apprentissage de référence pour les études ou le travail de tous. Les amis qui en ont besoin peuvent jeter un œil ci-dessous. .
Avant-propos
Cet article présente principalement le contenu pertinent sur l'utilisation des widgets de formulaire dans yii 2.0. Il est partagé pour référence et étude par chacun. . Ci-dessous, jetons un coup d'œil à l'introduction détaillée :
Méthode d'utilisation
Créez d'abord le calque de modèle Parce que vous souhaitez utiliser des widgets de formulaire. , vous devez charger les composants correspondants. , les composants nécessaires ici sont yiiwidgetsActiveForm yiihelpersHtml
Ensuite, écrivez la méthode dans la classe définie par le modèle. Tout d'abord, nous devons définir la valeur de nom dont nous avons besoin. pour utiliser le widget formulaire
Non Dis m'en plus sur le code
<?php /** * Created by PhpStorm. * User: jinlei * Date: 2017/5/10 * Time: 9:35 */ namespace frontend\models; use yii\base\Model; use yii\widgets\ActiveForm; use yii\helpers\Html; class Form extends Model { public $name; public $pwd; public $sex; public $hobby; public $age; public function rules(){ return[ ]; } public function attributeLabels(){ return[ ‘name'=>'用户名', ‘pwd'=>'密码', ‘sex'=>'性别', ‘hobby'=>'爱好', ‘age'=>'年龄' ]; } static public function dataarr($data){ $arr = array(); foreach($data as $key=>$value){ $arr[$value[‘kid']] = $value[‘kname']; } return $arr; } }
Dans ce modèle, il y a une méthode pour convertir les en-têtes anglais en attributuLabels chinois
Nous traitons également les boîtes à sélection unique, à sélection multiple et déroulantes de la même manière dataarr
Ensuite, nous besoin de créer un contrôleur
<?php /** * Created by PhpStorm. * User: jinlei * Date: 2017/5/10 * Time: 9:39 */ namespace frontend\controllers; use yii\web\Controller; use yii; use db; use frontend\models\Form; class LoginController extends Controller { public function actionIndex(){ $sql = ‘select kid,kname from exam_tiku'; $data = yii::$app->db->createCommand($sql)->queryAll(); $arr = Form::dataarr($data); //var_dump($arr);die; $model = new Form(); return $this->render(‘index',[‘model'=>$model,'data'=>$arr]); } public function actionAdd(){ $data = Yii::$app->request->post(); echo $name = $data[‘Form'][‘name']; } }
Ensuite, il est affiché sur la couche de vue de notre porte
<?php /** * Created by PhpStorm. * User: jinlei * Date: 2017/5/10 * Time: 9:41 */ use yii\helpers\Html; use yii\widgets\ActiveForm; $form = ActiveForm::begin([ ‘id' => ‘login-form', ‘options' => [‘class' => ‘form-horizontal'], ‘action'=>'?r=login/add', ‘method'=>'post', ]) ?> <?= $form->field($model, ‘name') ?> <?= $form->field($model, ‘pwd')->passwordInput() ?> <?= $form->field($model, ‘sex')->radioList([‘0'=>'男','1'=>'女']) ?> <?= $form->field($model, ‘hobby')->checkboxList([‘basketball'=>'篮球','baseball'=>'棒球','swim'=>'游泳']) ?> <?= $form->field($model, ‘age')->dropDownList($data) ?> <p class=”form-group”> <p class=”col-lg-offset-1 col-lg-11″> <?= Html::submitButton(‘Login', [‘class' => ‘btn btn-primary']) ?> </p> </p> <?php ActiveForm::end() ?>
Dans cette page, nous affichons la zone de texte zone de mot de passe à choix multiple Sélectionnez la zone déroulante où les données de la zone déroulante sont lues à partir de la base de données
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!