Убрать обертку у группы радиокнопок

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Vadim7423
Сообщения: 59
Зарегистрирован: 2016.07.07, 20:21

Убрать обертку у группы радиокнопок

Сообщение Vadim7423 »

Здравствуйте. Подскажите как убрать обертку и help-block которые формируются по умолчанию?

Код: Выделить всё

<?= $form->field($model, 'who')
                                    ->radioList([
                                      0 => 'Значение 1', 
                                      1 => 'Значение 2'
                                    ],
                                    [
                                        'item' => function ($index, $label, $name, $checked, $value) {
                                        $id = 'contactsData_pers-'. $index;
                                        return
                                            Html::beginTag('div', ['class' => 'input-block']) .
                                                Html::beginTag('div', ['class' => 'radio']) .
                                                    Html::radio($name, $checked, ['value' => $value, 'id' => $id]) .
                                                    Html::label($label, $id) . 
                                                Html::endTag('div') .
                                            Html::endTag('div');
                                        },
                                    ])->label(false)
                                ?>
радиокнопки в моем случае оборачиваются:

Код: Выделить всё

<div class="form-group field-orders-who">

<input name="Orders[who]" value="" type="hidden"><div id="orders-who">

// Здесь  радиокнопки с нужными контейнерами. Все остальное нужно убрать

</div>
<div class="help-block"></div>
</div>
SindBad
Сообщения: 81
Зарегистрирован: 2015.06.18, 10:53

Re: Убрать обертку у группы радиокнопок

Сообщение SindBad »

Здравствуйте!
Третий аргумент метода $form->field - $options, как раз позволяет передать свойства классу поля и в том числе задать шаблоны отображения полей. Как это сделать в Вашем случае точно не подскажу, но рекомендую покурить исходники yii\bootstrap\ActiveField, там в шапке класса найдёте подробное описание свойств (скорее всего это template, inputTemplate).Там же есть и примеры, как конфигурировать "налету".
andku83
Сообщения: 988
Зарегистрирован: 2016.07.01, 10:24
Откуда: Харьков

Re: Убрать обертку у группы радиокнопок

Сообщение andku83 »

Обычный field здесь не сработает, потому как список имеет 2 тега контейнера, а отменить мы можем только один.
А вот так можно обойти это:

Код: Выделить всё

<?= Html::activeRadioList($model, 'who', [
        0 => 'Значение 1',
        1 => 'Значение 2'
    ],
        [
            'tag' => false,
            'item' => function ($index, $label, $name, $checked, $value) {
                $id = 'contactsData_pers-'. $index;
                return
                    Html::beginTag('div', ['class' => 'input-block']) .
                    Html::beginTag('div', ['class' => 'radio']) .
                    Html::radio($name, $checked, ['value' => $value, 'id' => $id]) .
                    Html::label($label, $id) .
                    Html::endTag('div') .
                    Html::endTag('div');
            },
        ])
?>
Vadim7423
Сообщения: 59
Зарегистрирован: 2016.07.07, 20:21

Re: Убрать обертку у группы радиокнопок

Сообщение Vadim7423 »

Спасибо за помощь. Вот сопоставил оба совета и картинка сложилась)
Ответить