2015-11-01 5 views
2

Я установил форму параметры:шаблон формы не работает (yii2)

<? $form = ActiveForm::begin(
 
    [ 
 
     'options' => ['class' => 'form-horizontal'], 
 
     'fieldConfig' => 
 
     [ 
 
      'template' => '<div class="control-group">{input}</div>.<div class="control-group error">{error}</div>', 
 
     ], 
 
    ]); 
 
?> 
 

 
<div class="control-group"> 
 
    <b>Регистрация</b> 
 
     </div> 
 
<? 
 
    echo $form->field($model, 'login', ['template' => "{input}{error}", 'inputOptions' => array('placeHolder' => 'Логин')]); 
 
    echo $form->field($model, 'password', ['template' => "{input}{error}", 'inputOptions' => array('placeHolder' => 'Пароль')]); 
 
    echo $form->field($model, 'repassword', ['template' => "{input}{error}", 'inputOptions' => array('placeHolder' => 'Повторите пароль')]); 
 
?>

В результате все равно получается стандартной формы с классами норматива:

<form id="w0" class="form-horizontal" action="/web/index.php?r=site%2Freg" method="post"> 
 
    <input type="hidden" name="_csrf" value="cjZfVVZNOElDbml4NBlhMBRbcjslfFIvFg4OJm4aFSpERDI5Zn19OA=="> 
 
    <div class="control-group"> 
 
     <b>Регистрация</b> 
 
    </div> 
 
    <div class="form-group field-user-login required"> 
 
     <input type="text" id="user-login" class="asd" name="User[login]" placeHolder="Логин"> 
 
     <div class="help-block"></div> 
 
    </div> 
 
    <div class="form-group field-user-password required"> 
 
     <input type="text" id="user-password" class="asd" name="User[password]" placeHolder="Пароль"> 
 
     <div class="help-block"></div> 
 
    </div> 
 
    <div class="form-group field-user-repassword required"> 
 
     <input type="text" id="user-repassword" class="asd" name="User[repassword]" placeHolder="Повторите пароль"> 
 
     <div class="help-block"></div> 
 
    </div> 
 

 
</form>

Мне не нужны эти классы и div с классом «help-block».

ответ

1

сделать что-то вроде:

$form->field($model, 'username', [ 'inputTemplate' => '<div class="input-group input-group-sm"><span class="input-group-addon"><i class="glyphicon glyphicon-user"></i></span>{input}</div>'])->label(false)->textInput(['placeholder'=>'Your Email']); 

Обновлено Темплеты для всех:

$form = ActiveForm::begin([ 
'layout' => 'horizontal', 
'fieldConfig' => [ 
    'template' => "{label}\n{beginWrapper}\n{input}\n{hint}\n{error}\n{endWrapper}", 
    'horizontalCssClasses' => [ 
     'label' => 'col-sm-4', 
     'offset' => 'col-sm-offset-4', 
     'wrapper' => 'col-sm-8', 
     'error' => '', 
     'hint' => '', 
    ], 
    ], 
]); 

ссылки: yii2 doc и bootstrap activeform yii2 doc

+0

для каждого поля? есть ли способ для всех полей? –

+0

проверить это: http://www.yiiframework.com/doc-2.0/yii-bootstrap-activeform.html – mohsen