我创建了新的Yii2基础项目,并希望深入挖掘。
登录页面上有一个用户名字段:
我想更改标签'用户名'例如,自定义的,例如'我的超级品牌'。 我看过手册: http://www.yiiframework.com/doc-2.0/yii-widgets-activefield.html
稍微调查一下后,我得到了下一个结果:
我只更改了模板并更改了布局:
<?= $form->field($model, 'username', [
"template" => "<label> My superb label </label>\n{input}\n{hint}\n{error}"
])?>
如何以正确的方式更改标签文字? 什么是最佳做法?
答案 0 :(得分:40)
<?= $form->field($model, 'username')->textInput()->label('My superb label') ?>
http://www.yiiframework.com/doc-2.0/yii-bootstrap-activefield.html#label()-detail
答案 1 :(得分:19)
还有另一种很酷的方式。
<?= $form->field($model, 'username')->textInput(['class'=>'field-class'])->label('Your Label',['class'=>'label-class']) ?>
答案 2 :(得分:18)
好的,只需覆盖LoginForm.php中的attributeLabel:
/**
* Returns the attribute labels.
*
* See Model class for more details
*
* @return array attribute labels (name => label).
*/
public function attributeLabels()
{
return [
'username' => 'Логин',
'password' => 'Пароль',
];
}
答案 3 :(得分:2)
您还可以将此功能添加到模型中:
public function attributeLabels()
{
return [
'username' => 'My Login',
'password' => 'My Pasword',
'rememberMe' => 'Remember Me, please',
];
}
答案 4 :(得分:0)
只需从这样的模型中更改标签
'symptomsBefore' => Yii::t('app', 'Has The Patient Suffered from the same or similar symptoms before'),