Das Beispiel in diesem Artikel beschreibt die einfache Verwendung von DropDownList in Yii2. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:
Hier erläutern wir anhand eines praktischen Anwendungsbeispiels die Verwendung von Yii2 DropDownList.
Es gibt eine Klassifizierungstabelle wie die Infinitus-Klassifizierung. Die Tabellenstruktur ist wie folgt und pid ist die übergeordnete Klassifizierungs-ID
Hier wollen wir erreichen:
Beim Erstellen einer neuen Kategorie kann die übergeordnete Kategorie aus allen Kategorien ausgewählt oder nicht ausgewählt werden
Beim Bearbeiten einer Kategorie kann die aktuell bearbeitete Kategorie nicht als übergeordnete Kategorie ausgewählt werden. . . Wenn Sie sich selbst auswählen, ist die übergeordnete Kategorie Sie selbst, und etwas wird schief gehen!
Der Implementierungscode lautet wie folgt. Ich werde den gesamten Code des Formulars einfügen
<?php use common\models\Category; use yii\helpers\ArrayHelper; use yii\helpers\Html; use yii\widgets\ActiveForm; /* @var $this yii\web\View */ /* @var $model common\models\Category */ /* @var $form yii\widgets\ActiveForm */ ?> <div class="category-form"> <div class="row"> <?php if (!$model->isNewRecord) {//如果是编辑分类 $cate = ArrayHelper::map(Category::find()->andWhere('id != :id', [':id' => $model->id])->all(), 'id', 'title'); } else {//如果是新建分类 $cate = ArrayHelper::map(Category::find()->all(), 'id', 'title'); } ?> <div class="col-md-6 col-md-offset-3"> <?php $form = ActiveForm::begin(); ?> <?= $form->field($model, 'title')->textInput(['maxlength' => 100])->label("分类标题") ?> <?= $form->field($model, 'name')->textInput(['maxlength' => 100])->label("分类别名") ?> <?= $form->field($model, 'pid')->dropDownList($cate, ['prompt' => '请选择父分类'])->label("父分类") ?> <?= $form->field($model, 'keywords')->textarea(['maxlength' => 255])->label("分类关键词") ?> <?= $form->field($model, 'description')->textarea(['maxlength' => 255])->label("分类描述") ?> <div class="form-group"> <div class="row"> <div class="col-md-6 col-md-offset-3"> <?= Html::submitButton($model->isNewRecord ? '创建' : '更新', ['class' => $model->isNewRecord ? 'btn btn-block btn-success' : 'btn btn-block btn-primary']) ?> </div> </div> </div> <?php ActiveForm::end(); ?> </div> </div> </div>
Leser, die an mehr Yii-bezogenen Inhalten interessiert sind, können sich die speziellen Themen dieser Website ansehen: „Einführung in das Yii-Framework und Zusammenfassung gängiger Techniken“, „Zusammenfassung des ausgezeichneten PHP-Entwicklungsframeworks“, „Grundlegendes Tutorial für den Einstieg“. mit Smarty-Vorlagen“, „Einführungs-Tutorial zum objektorientierten PHP-Programmierung-Design“, „Zusammenfassung der PHP-String-(String-)Verwendung“, „Einführungs-Tutorial zum PHP-MySQL-Datenbankbetrieb“ und „Zusammenfassung allgemeiner PHP-Datenbankbetriebsfähigkeiten“
Ich hoffe, dass dieser Artikel für jedermann beim PHP-Programmdesign basierend auf dem Yii-Framework hilfreich sein wird.