Article

Yii2 Формы ч.1

Предисловие:

Во время работы над одним из своих модулей, я захотел сделать в create/update поле, которое бы вытягивало по одному название entity, а так же его фотографию, в зародыше это выглядело вот так:

Задача довольно специфичная, потому что в список radio нужно как то вклеить левое значение, и как видно это всё должно быть в таблице, что я в дальнейшем тоже решил оставить.
Иитак, возникает вопрос: самому собрать виджет с говна и палок, или мб(если это вообще возможно) настроить встроенный инструмент Yii2 под себя.

Для ответа нам нужно рассмотреть такие моменты:

  1. Простой пример, общая конфигурация
  2. Что у нас есть в ActiveForm за поля
  3. Общие возможности, что есть, если копнуть чуть глубже, и как это можно использовать

#01_ Простой пример:

<?php
# $model = new User(); --> приходит с контроллера
$form=ActiveForm::begin();?>
<?=$form->field($model,'login')?>
<?=$form->field($model,'password')->passwordInput()?>
<?=Html::submitButton()?>

<?php ActiveForm::end();?>

Пункт 0: читаем оф. мануал ==> https://www.yiiframework.com/doc/guide/2.0/ru/start-forms

Что имеем на входной точке?
Имеем виджет yii\widgets\ActiveForm
а более точно:

  • ActiveForm::begin()
  • ActiveForm::end()

Между ними мы создаём поля нашей формы, и получаем примерно такой HTML код на выходе:



Third-party source 2

No data here

Dropdown
test 123