我需要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中实现这一点时,我不想重复这些愚蠢的事情。实现这一目标的最佳方法是什么?
答案 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
,如何解决此问题。