Heim  >  Artikel  >  Backend-Entwicklung  >  Einführung in Formular-Widgets in yii 2.0

Einführung in Formular-Widgets in yii 2.0

巴扎黑
巴扎黑Original
2017-08-13 11:32:001171Durchsuche

Dieser Artikel stellt Ihnen hauptsächlich vor, wie Sie die Formular-Widgets in Yii 2.0 verwenden. Die Einführung im Artikel ist sehr detailliert und hat einen gewissen Referenz-Lernwert für alle, die einen Blick darauf werfen möchten .

Vorwort

Dieser Artikel stellt hauptsächlich den relevanten Inhalt über die Verwendung von Formular-Widgets in yii 2.0 vor. Er wird für alle zum Nachschlagen und Studieren freigegeben Schauen wir uns unten die ausführliche Einführung an:

Verwendungsmethode

Erstellen Sie zunächst die Modellebene , Sie müssen die entsprechenden Komponenten laden, die hier benötigten Komponenten sind yiiwidgetsActiveForm yiihelpersHtml

Als nächstes müssen wir die vom Modell definierte Methode definieren um das Formular-Widget zu verwenden

Nein Erzähl mir mehr über den 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&#39;=>&#39;用户名&#39;,
‘pwd&#39;=>&#39;密码&#39;,
‘sex&#39;=>&#39;性别&#39;,
‘hobby&#39;=>&#39;爱好&#39;,
‘age&#39;=>&#39;年龄&#39;
];
}
static public function dataarr($data){
$arr = array();
foreach($data as $key=>$value){
$arr[$value[‘kid&#39;]] = $value[‘kname&#39;];
}
return $arr;
}
}

In diesem Modell gibt es eine Methode um englische Überschriften in chinesische Attribute zu konvertieren

Außerdem behandeln wir Einzelauswahl-, Mehrfachauswahl- und Dropdown-Felder auf die gleiche Weise wie Datenarr

Als nächstes Controller muss erstellt werden


<?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&#39;;
$data = yii::$app->db->createCommand($sql)->queryAll();
$arr = Form::dataarr($data);
//var_dump($arr);die;
$model = new Form();
return $this->render(‘index&#39;,[‘model&#39;=>$model,&#39;data&#39;=>$arr]);
}
public function actionAdd(){
$data = Yii::$app->request->post();
echo $name = $data[‘Form&#39;][‘name&#39;];
}
}

Dann wird er auf der Ansichtsebene unserer Tür angezeigt


<?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&#39; => ‘login-form&#39;,
‘options&#39; => [‘class&#39; => ‘form-horizontal&#39;],
‘action&#39;=>&#39;?r=login/add&#39;,
‘method&#39;=>&#39;post&#39;,
]) ?>
<?= $form->field($model, ‘name&#39;) ?>
<?= $form->field($model, ‘pwd&#39;)->passwordInput() ?>
<?= $form->field($model, ‘sex&#39;)->radioList([‘0&#39;=>&#39;男&#39;,&#39;1&#39;=>&#39;女&#39;]) ?>
<?= $form->field($model, ‘hobby&#39;)->checkboxList([‘basketball&#39;=>&#39;篮球&#39;,&#39;baseball&#39;=>&#39;棒球&#39;,&#39;swim&#39;=>&#39;游泳&#39;]) ?>
<?= $form->field($model, ‘age&#39;)->dropDownList($data) ?>

<p class=”form-group”>
<p class=”col-lg-offset-1 col-lg-11″>
<?= Html::submitButton(‘Login&#39;, [‘class&#39; => ‘btn btn-primary&#39;]) ?>
</p>
</p>
<?php ActiveForm::end() ?>

Auf dieser Seite zeigen wir das Textfeld Passwortfeld mit Mehrfachauswahl. Wählen Sie das Dropdown-Feld aus, in dem die Daten des Dropdown-Felds aus der Datenbank gelesen werden

Das obige ist der detaillierte Inhalt vonEinführung in Formular-Widgets in yii 2.0. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn