如何在名称ActiveForm Yii2中显示西里尔文?

时间:2015-12-28 08:17:09

标签: php yii2

如何在名称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(); ?>

3 个答案:

答案 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

错误报告在这里:

https://github.com/yiisoft/yii2/issues/4408