Как изменить текст метки ActiveField?
Я создал новый базовый проект Yii2 и хочу копать.
На странице входа есть поле Имя пользователя:
![enter image description here]()
Я хочу изменить ярлык "Username" на пользовательский, например. "Моя превосходная этикетка".
Я прочитал руководство:
http://www.yiiframework.com/doc-2.0/yii-widgets-activefield.html
После небольшого исследования у меня есть следующий результат:
![enter image description here]()
Я изменил только шаблон и изменил макет:
<?= $form->field($model, 'username', [
"template" => "<label> My superb label </label>\n{input}\n{hint}\n{error}"
])?>
Как правильно изменить текст метки?
Какая практика?
Ответы
Ответ 1
Хорошо, просто переопределите атрибутыLabels в LoginForm.php:
/**
* Returns the attribute labels.
*
* See Model class for more details
*
* @return array attribute labels (name => label).
*/
public function attributeLabels()
{
return [
'username' => 'Логин',
'password' => 'Пароль',
];
}
Ответ 2
<?= $form->field($model, 'username')->textInput()->label('My superb label') ?>
http://www.yiiframework.com/doc-2.0/yii-bootstrap-activefield.html#label()-detail
Ответ 3
есть еще один классный способ.
<?= $form->field($model, 'username')->textInput(['class'=>'field-class'])->label('Your Label',['class'=>'label-class']) ?>
Ответ 4
Вы также можете добавить такую модель в модель:
public function attributeLabels()
{
return [
'username' => 'My Login',
'password' => 'My Pasword',
'rememberMe' => 'Remember Me, please',
];
}