Как правильно составить radioList?

Для правильного составления radioList в Yii вам потребуется использование функции radioList внутри формы Yii или виджета ActiveForm. Функция radioList упрощает создание группы радиокнопок и автоматически создает HTML-элементы input type="radio" и соответствующие метки для каждого элемента списка.

Приведу пример, как использовать radioList в Yii:

echo $form->field($model, 'attribute')->radioList(
    $items,
    $options
);

В приведенном коде $model - это модель, к которой вы привязываете атрибут "attribute", $items - массив элементов, которые будут отображены в виде радиокнопок, и $options - массив опций для настройки вывода радиокнопок.

Пример массива $items:

$items = [
    'value1' => 'Option 1',
    'value2' => 'Option 2',
    'value3' => 'Option 3',
];

В этом примере ключи value1, value2 и value3 - это значения, которые будут переданы в модель, если пользователь выберет соответствующую радиокнопку. Значения 'Option 1', 'Option 2' и 'Option 3' - это подписи, которые будут отображаться рядом с радиокнопками.

Пример массива опций $options:

$options = [
    'item' => function($index, $label, $name, $checked, $value) {
        return '<div class="radio">' .
               Html::radio($name, $checked, ['value' => $value, 'label' => $label]) .
               '</div>';
    },
];

В этом примере мы используем item опцию, чтобы настроить вывод каждого отдельного элемента списка радиокнопок. В данном случае мы создаем <div class="radio"> обертку для каждой радиокнопки, используя Html::radio для генерации HTML-кода радиокнопки.

Конечно, это простой пример использования radioList, и вы можете настроить его более подробно, добавив другие опции в массив $options. Вы можете настроить классы CSS, добавить дополнительные атрибуты HTML, изменить макет списка радиокнопок и т.д.

Также не забывайте, что форма или виджет ActiveForm должны быть открыты перед вызовом radioList и закрыты после него.

Надеюсь, что эта информация поможет вам правильно использовать radioList в Yii. Если у вас возникнут дополнительные вопросы, не стесняйтесь задавать.