Yii2 Настройка опции yii \ bootstrap4 \ ActiveField :: radioList - PullRequest
0 голосов
/ 17 февраля 2020

Я использую yii\bootstrap4\ActiveField::radioList и пытаюсь вставить тег html в параметры моего radioList.

$list = [
    0 => '<strong>Option1</strong><br>
        lorem ipsum lorem ipsum',
    1 => '<strong>Option2</strong><br>
        lorem ipsum lorem ipsum',
    2 => '<strong>Option3</strong><br>
        lorem ipsum lorem ipsum,',
];

echo $form->field($model, 'field')->radioList($list)->label('Your choose?');

Есть ли прямой способ сделать это без создания шаблон?

1 Ответ

1 голос
/ 17 февраля 2020

То, что вы ищете, это опция items, которая позволяет вам легко настраивать входы radio или checkbox и labels.

. Непонятно, какой макет вы пытаетесь использовать для radioList, но вы можете изменить его в приведенном ниже коде, я сосредоточусь на том, что вы упомянули, т. е. на форматировании текстовых меток для входов в список радиосвязи.

$list = [
    0 => '<strong>Option1</strong><br>lorem ipsum lorem ipsum',
    1 => '<strong>Option2</strong><br>lorem ipsum lorem ipsum',
    2 => '<strong>Option3</strong><br>lorem ipsum lorem ipsum,',
];

echo $form->field($model, 'field')
    ->radioList(
        $list,
        [
            'item' => function ($index, $label, $name, $checked, $value) {

                $html = '<label >';
                $html .= '<input type="radio" name="' . $name . '" value="' . $value . '" ' . $checked . '>';
                $html .= '<span>' . ucwords($label) . '</span>';
                $html .= '</label>';

                return $html;
            },
        ]
    )
    ->label('Your choose?');
...