Yii2 如何更改ActiveField的标签文本?
我已经创建了一个新的Yii2基础项目,并希望深入研究 登录页面上有一个用户名字段: 我想将标签“用户名”更改为自定义标签,例如“我的超级标签”。 我已经阅读了手册: 经过一点调查,我得到了下一个结果: 我只更改了模板,它更改了布局:Yii2 如何更改ActiveField的标签文本?,yii2,active-form,Yii2,Active Form,我已经创建了一个新的Yii2基础项目,并希望深入研究 登录页面上有一个用户名字段: 我想将标签“用户名”更改为自定义标签,例如“我的超级标签”。 我已经阅读了手册: 经过一点调查,我得到了下一个结果: 我只更改了模板,它更改了布局: <?= $form->field($model, 'username', [ "template" => "<label> My superb label </label>\n{input}\n{hint}\n
<?= $form->field($model, 'username', [
"template" => "<label> My superb label </label>\n{input}\n{hint}\n{error}"
])?>
如何以正确的方式更改标签的文本?
什么是最佳实践?
<?= $form->field($model, 'username')->textInput()->label('My superb label') ?>
好的,只需覆盖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(['class'=>'field-class'])->label('Your Label',['class'=>'label-class']) ?>
您还可以将此类功能添加到模型中:
public function attributeLabels()
{
return [
'username' => 'My Login',
'password' => 'My Pasword',
'rememberMe' => 'Remember Me, please',
];
}
只需从这样的模型中更改标签
'symptomsBefore' => Yii::t('app', 'Has The Patient Suffered from the same or similar symptoms before'),
真的帮了大忙你是个摇滚明星!由于我在单个模型上有多个路由/模板,所以属性选项不是我的选择。我个人认为这是正确的答案,因为问题并没有说明在所有情况下都应该改变标签。例如,考虑一个希望改变标签形式的模型,因为下拉正被用于一个相关的表值,而远程ID则显示在其他场景中。这很容易是一个注释,试图给出一个有意义的答案来支持你的答案。看看