2014-11-30 27 views
19

ho creato nuovo progetto di base Yii2 e vuole scavare inCome modificare il testo dell'etichetta di ActiveField?

C'è un campo nome utente sulla pagina di login:. enter image description here

voglio cambiare etichetta di 'nome utente' per uno personalizzato, ad esempio, "La mia superba etichetta". Ho letto il manuale: http://www.yiiframework.com/doc-2.0/yii-widgets-activefield.html

Dopo aver investigato un po 'ho ottenuto il risultato successivo: enter image description here

ho cambiato solo modello e ha cambiato il layout:

<?= $form->field($model, 'username', [ 
    "template" => "<label> My superb label </label>\n{input}\n{hint}\n{error}" 
])?> 

Come cambiare il testo dell'etichetta in modo corretto? Qual è la migliore pratica?

risposta

18

Va bene, basta ignorare attributeLabels in LoginForm.php:

/** 
* Returns the attribute labels. 
* 
* See Model class for more details 
* 
* @return array attribute labels (name => label). 
*/ 
public function attributeLabels() 
{ 
    return [ 
     'username' => 'Логин', 
     'password' => 'Пароль', 
    ]; 
} 
19

c'è un altro modo fresco.

<?= $form->field($model, 'username')->textInput(['class'=>'field-class'])->label('Your Label',['class'=>'label-class']) ?> 
+0

davvero aiutato questo – azeem

2

È inoltre possibile aggiungere tale funzione del modello:

public function attributeLabels() 
{ 
    return [ 
     'username' => 'My Login', 
     'password' => 'My Pasword', 
     'rememberMe' => 'Remember Me, please', 
    ]; 
} 
Problemi correlati