Yii2 Tips - Al-punto.com

Hola Amigos,
si te estás preguntando como alinear etiquetas (labels) y campos (fields) en una misma línea horizontal en un formulario usando CSS, entonces aquí tienes una posible solución, la cual nos es dada por la Yii2 misma. La solución consiste en usar «yii\bootstrap\ActiveForm» en vez de «yii\widgets\ActiveForm«. La clase «yii\bootstrap\ActiveForm» no es más que una version «yii\widgets\ActiveForm» con mejoras de Bootstrap 3. Esto hace que cambiar el layout de los formularios de la plantilla avanzada de Yii2 sea mucho más fácil.


Estos son los pasos para usar  «yii\bootstrap\ActiveForm» en tu formulario:

Paso 1: Declara el uso de la mencionada clase:
use yii\bootstrap\ActiveForm;

Paso 2: Declara el widget del formulario de esta manera:

<?php $form = ActiveForm::begin(
            ['layout' => 'horizontal',
                    'method' => 'post',
                    'fieldConfig' => [
                        'horizontalCssClasses' => [
                            'label' => 'col-sm-2',
                            'offset' => 'col-sm-offset-2',
                            'wrapper' => 'col-sm-4',
                        ],
                    ],
             ]
    ); ?>


Paso 3: Revisa el resultado:
Por último anda el formulario y verifica si todo está como lo deseabas. Si no es así, simplemente haz los cambios deseados en la definición del formulario.

Las clases utilizadas son las mismas usadas en Bootstrap 3:
col-sm-2, col-sm-4, etc..


Bueno, en principio eso es todo.

Saludos
@Rafa