在表格中为模型字段获取冒号标签

时间:2015-04-08 11:52:24

标签: yii2

我需要Body:(结尾有冒号),而不是Body呈现为我表单中每个字段的标签。我怎样才能以最佳方式实现这一目标?

我尝试通过在fieldConfig => template中添加ActiveForm::begin来修改div class=\"\">{label}:</div>

<?php $form = ActiveForm::begin([
    'id' => 'edit-form',
    'options' => ['class' => 'form-horizontal'],
    'fieldConfig' => [
    'template' => "<div class=\"\">{label}:</div>\n<div class=\"\">{input}</div>\n<div class=\"\">{error}</div>",
    'labelOptions' => ['class' => 'edit-label'],
]]); ?>

但这是错误的。冒号呈现为单独的DOM元素,具有不正确的样式并且看起来很丑陋。

我尝试在CSS中执行此操作:

.edit-label::after { 
    content: ":";
}

但情况更糟。

我记得,我在Yii1做了很多愚蠢的事情来获得这个。在Yii2中实现这一点时,我不想重复这些愚蠢的事情。实现这一目标的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

使用Bootstrap 3(yii\bootstrap\ActiveField)时,您可以在$template中使用其他占位符,并且需要将{label}替换为{beginLabel}{labelTitle}:{endLabel}

<?php $form = ActiveForm::begin([
    'id' => 'edit-form',
    'options' => [
        'class' => 'form-horizontal',
        'enctype'=>'multipart/form-data'
    ],
    'fieldConfig' => [
        'template' => "<div class=\"\">{beginLabel}{labelTitle}:{endLabel}</div>\n<div class=\"\">{input}</div>\n<div class=\"\">{error}</div>",
        'labelOptions' => ['class' => 'edit-label'],
    ],
]); ?>

我不知道,如果您使用的是基本yii\widgets\ActiveField,如何解决此问题。