28

私は新しい Yii2 基本プロジェクトを作成しました。掘り下げたいと思います。

ログインページにユーザー名フィールドがあります。 ここに画像の説明を入力

ラベル 'ユーザー名' をカスタム ラベル、たとえば 'My super label' に変更したいと考えています。マニュアルを読みました: 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}"
])?>

ラベルのテキストを正しい方法で変更するには? ベストプラクティスとは?

4

5 に答える 5

50
<?= $form->field($model, 'username')->textInput()->label('My superb label') ?>

http://www.yiiframework.com/doc-2.0/yii-bootstrap-activefield.html#label()-detail

于 2014-11-30T23:27:58.857 に答える
21

別のクールな方法があります。

<?= $form->field($model, 'username')->textInput(['class'=>'field-class'])->label('Your Label',['class'=>'label-class']) ?>
于 2015-07-23T06:02:59.707 に答える
19

さて、LoginForm.php で attributeLabels を上書きするだけです:

/**
 * Returns the attribute labels.
 *
 * See Model class for more details
 *  
 * @return array attribute labels (name => label).
 */
public function attributeLabels()
{
    return [
        'username' => 'Логин',
        'password' => 'Пароль',
    ];
}
于 2014-12-20T21:45:15.467 に答える
2

このような関数をモデルに追加することもできます:

public function attributeLabels()
{
    return [
        'username' => 'My Login',
        'password' => 'My Pasword',
        'rememberMe' => 'Remember Me, please',
    ];
}
于 2016-09-22T08:45:33.517 に答える
0

このようなモデルからラベルを変更するだけです

'symptomsBefore' => Yii::t('app', 'Has The Patient Suffered from the same or similar symptoms before'),
于 2020-07-03T10:35:51.490 に答える