J'ai créé un nouveau projet de base Yii2 et je souhaite creuser.
Il y a un champ Nom d'utilisateur sur la page de connexion:
Je souhaite remplacer le libellé 'Nom d'utilisateur' par un libellé personnalisé, par exemple "Ma superbe étiquette". J'ai lu le manuel: http://www.yiiframework.com/doc-2.0/yii-widgets-activefield.html
Après avoir enquêté un peu, j'ai le résultat suivant:
J'ai changé seulement le modèle et cela a changé la disposition:
<?= $form->field($model, 'username', [
"template" => "<label> My superb label </label>\n{input}\n{hint}\n{error}"
])?>
Comment changer le texte de l'étiquette de manière correcte? Quelle est la meilleure pratique?
D'accord, remplacez simplement attributeLabels dans LoginForm.php:
/**
* Returns the attribute labels.
*
* See Model class for more details
*
* @return array attribute labels (name => label).
*/
public function attributeLabels()
{
return [
'username' => 'Логин',
'password' => 'Пароль',
];
}
<?= $form->field($model, 'username')->textInput()->label('My superb label') ?>
http://www.yiiframework.com/doc-2.0/yii-bootstrap-activefield.html#label () -detail
il y a une autre façon sympa.
<?= $form->field($model, 'username')->textInput(['class'=>'field-class'])->label('Your Label',['class'=>'label-class']) ?>
Vous pouvez également ajouter une telle fonction au modèle:
public function attributeLabels()
{
return [
'username' => 'My Login',
'password' => 'My Pasword',
'rememberMe' => 'Remember Me, please',
];
}