yii 自定义form样式适应现成模板

需求:想使用下边的样式但是使用yii中的表单样式会

<?= $form->field($model, 'attribute_code')->textInput()->label('attribute代码名称') ?>

带有大量无用的div和clas样式,想要自定义可以通过ActiveForm中的fieldConfig属性实现如下边的列子实现,相比

<?= Html::activeInput('text',$model,'icon', ['class'=>'form-control']);?>

这种改造的在其中外围加入大量div和样式的减少了代码量

 <?php
 $form = ActiveForm::begin([
        'fieldConfig'=>[
            'template'=> "<div class='col-lg-2 col-md-2 col-sm-4 col-xs-5 form-control-label'>{label}</div>\n
                          <div class='col-lg-10 col-md-10 col-sm-8 col-xs-7'><div class='form-group'><div class='form-line'>{input}</div></div></div>\n
                          {hint}\n{error}",
            'labelOptions'=>[],
            'labelOptions' => ['class' => null],//取消标签上的class属性
            'inputOptions' => ['class'=>null],//取消input上自带的class属性
            'options'=>['class'=>'row clearfix'],
        ],
         'options' => ['onsubmit'=>'return refactorForm();'],//在form表单中定义onsubmit事件
         'validateOnSubmit' => false,//解决当一次点击提交按钮时会对定义的onsubmit事件执行两次问题,关闭框架自带的触发程序
    ]); 
?>

 

posted @ 2019-09-21 15:10  大匠  Views(559)  Comments(0Edit  收藏  举报