如何更改ActiveField的标签文本?

时间:2014-11-30 23:24:18

标签: yii2 active-form

我创建了新的Yii2基础项目,并希望深入挖掘。

登录页面上有一个用户名字段: enter image description here

我想更改标签'用户名'例如,自定义的,例如'我的超级品牌'。 我看过手册: 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}"
])?>

如何以正确的方式更改标签文字? 什么是最佳做法?

5 个答案:

答案 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'),