Статейка по использованию textInput(), passwordInput() и hiddenInput().
Все варианты кастомизации textInput() подходят и для passwordInput() и hiddenInput().
Примеры содержат в себе код на PHP и получаемый результат на HTML, как его генерируем Yii2.
Внимание: Примеры будут обновляться, так как не задеты вопросы вывода ошибок и валидации полей на стороне клиента.
Список примеров:
1. Стандартное использование textInput()
2. Стандартное использование passwordInput()
3. Стандартное использование hiddenInput()
4. Убираем враппер div.form-group
5. Заменяем тег враппера div.form-group на свой тег
6. Заменяем класс враппера div.form-group на свой
7. Заменяем враппер div.form-group на свой тег и со своим классом
8. Добавляем к input свои классы
9. Добавляем к input свои классы и кастомный id
Стандартное использование textInput()
Пример стандартного использования textInput() в Yii2.
<?= $profile_form->field($model, 'username')->textInput() ?>
<div class="form-group field-users-username required"> <label class="control-label" for="users-username">Username</label> <input id="users-username" class="form-control" name="Users[username]" value="" type="text"> <p class="help-block help-block-error"></p> </div>
Стандартное использование passwordInput()
Пример стандартного использования passwordInput() в Yii2.
<?= $profile_form->field($model, 'password')->passwordInput() ?>
<div class="form-group field-users-password"> <label class="control-label" for="users-password">Password</label> <input id="users-password" class="form-control" name="Users[password]" value="" type="password"> <p class="help-block help-block-error"></p> </div>
Стандартное использование hiddenInput()
Пример стандартного использования hiddenInput() в Yii2.
<?= $profile_form->field($model, 'test')->hiddenInput() ?>
<div class="form-group field-users-test"> <label class="control-label" for="users-test">Test</label> <input id="users-test" class="form-control" name="Users[test]" value="" type="hidden"> <p class="help-block help-block-error"></p> </div>
Убираем враппер div.form-group
В данном примере видно как можно убрать враппер div.form-group внутри которого лежит input.
<?= $profile_form->field( $model, 'username', [ 'options' => [ 'tag' => false ] ])->textInput() ?>
<label class="control-label" for="users-username">Username</label> <input id="users-username" class="form-control" name="Users[username]" value="" type="text"> <p class="help-block help-block-error"></p>
Заменяем тег враппера div.form-group на свой тег
Полностью заменим тег для враппера с div.form-group на span. Побочным эффектом будет тот факт, что класс .form-group пропадет.
<?= $profile_form->field( $model, 'username', [ 'options' => [ 'tag' => 'span' ] ])->textInput() ?>
<span class="field-users-username required"> <label class="control-label" for="users-username">Username</label> <input id="users-username" class="form-control" name="Users[username]" value="" type="text"> <p class="help-block help-block-error"></p> </span>
Заменяем класс враппера div.form-group на свой
Поменяем класс враппера div.form-group на div.trololo.
<?= $profile_form->field( $model, 'username', [ 'options' => [ 'class' => 'trololo', ] ])->textInput() ?>
<div class="trololo field-users-username required"> <label class="control-label" for="users-username">Username</label> <input id="users-username" class="form-control" name="Users[username]" value="" type="text"> <p class="help-block help-block-error"></p> </div>
Заменяем враппер div.form-group на свой тег и со своим классом
Полностью заменим тег и класс для враппера с div.form-group на span.trololo.
<?= $profile_form->field( $model, 'username', [ 'options' => [ 'tag' => 'span', 'class' => 'trololo' ] ])->textInput() ?>
<span class="trololo field-users-username required"> <label class="control-label" for="users-username">Username</label> <input id="users-username" class="form-control" name="Users[username]" value="" type="text"> <p class="help-block help-block-error"></p> </span>
Добавляем к input свои классы
Добавим для тега input свои кастомные классы .form-control.empty.
<?= $profile_form->field($model, 'username')->textInput([ 'class' => 'form-control empty', 'id' => 'trololo', ]) ?>
<div class="form-group field-users-username required"> <label class="control-label" for="users-username">Username</label> <input type="text" id="users-username" class="form-control empty" name="Users[username]" value=""> <p class="help-block help-block-error"></p> </div>
Добавляем к input свои классы и кастомный id
Добавим для тега input свои кастомные классы .form-control.empty и меняем id на свой.
<?= $profile_form->field($model, 'username')->textInput([ 'class' => 'form-control empty', 'id' => 'trololo', ]) ?>
<div class="form-group field-trololo required"> <label class="control-label" for="trololo">Username</label> <input type="text" id="trololo" class="form-control empty" name="Users[username]" value=""> <p class="help-block help-block-error"></p> </div>