如何在名称ActiveForm Yii2中显示西里尔文?
如果我发布“Имя”,我会在模型中出错。
需要写名字段ActiveForm - “Имя”,但不需要“名称”。
jvisualvm
<?php $form = ActiveForm::begin(); ?>
<?= $form->field($model, 'name') ?> //NEED <?= $form->field($model, 'Имя') ?>
<?= $form->field($model, 'email') ?>
<div class="form-group">
<?= Html::submitButton('Отправить', ['class' => 'btn btn-primary']) ?>
</div>
<?php ActiveForm::end(); ?>
答案 0 :(得分:2)
'name'
此处:
<?= $form->field($model, 'name') ?>
表示模型属性的英文名称,不应更改。将其更改为其他语言意味着您还需要相应地更改数据库表列,这被视为BAD PRACTICE。想想其他开发人员(特别是将来可能支持您的代码的国际开发人员)。
较差的变异可以是:imya
,但这也是不好的做法。不要使用它。
如果您不想自定义显示的标签,请在attributeLabels()
:
public function attributeLabels()
{
return [
'name' => 'Имя', // or Yii:t(...) in case of multilanguage site
];
}
答案 1 :(得分:2)
干得好!
<?= $form->field($model, 'name')->label('Ваше имя'); ?>
答案 2 :(得分:0)
这是Yii中的一个错误...
我不知道如何轻松发布差异,但这已经足够了。修改BaseHtml.php,使所有行以绿色突出显示。
https://github.com/kmindi/yii2/commit/3242f3d2f34c4fc5681e215b8c4d858f7cbb8aa5
错误报告在这里: