Как правильно вывести массив в radioList в yii2?

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
alexa777
Сообщения: 299
Зарегистрирован: 2016.03.01, 17:38

Как правильно вывести массив в radioList в yii2?

Сообщение alexa777 »

в таблице post есть строка, где хранится массив в json с названием сайтов и их ссылки
После Json::decode этот массив принимает этот вид

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

array(3) {
[0]=> array(2) {
["title"]=> string(90) "Сайт1"
["link"]=> string(32) "site1.ru"
}
[1]=> array(2) {
["title"]=> string(39) " Сайт2"
["link"]=> string(28) "site2.ru"
}
[2]=> array(2) {
["title"]=> string(56) "Сайт2"
["link"]=> string(27) "site3.ru"
}
}
нужно в форме radioList вывести их списком, чтобы название были кликабельными
вот сама форма, не пойму как правильно воткнуть туда этот массив. Подскажите плиз

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

<?= $form->field($model, 'site')->radioList([
    
           //тут должен быть массив
    ],   [
                                'item' => function($index, $label, $name, $checked, $value) {

                                    $return = '<label class="modal-radio">';
                                    $return .= '<input type="radio" name="' . $name . '" value="' . $value . '" tabindex="3">';
                                    $return .= '<i></i>';
                                    $return .= '<span>' . ucwords($label) . '</span>';
                                    $return .= '</label><br/>';

                                    return $return;
                                }
                            ]
                        ); ?>
alexa777
Сообщения: 299
Зарегистрирован: 2016.03.01, 17:38

Re: Как правильно вывести массив в radioList в yii2?

Сообщение alexa777 »

этот массив получаю через функцию Post::getSite($model->id)
andku83
Сообщения: 988
Зарегистрирован: 2016.07.01, 10:24
Откуда: Харьков

Re: Как правильно вывести массив в radioList в yii2?

Сообщение andku83 »

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

$arrForRadioList = array_column($yourArray, 'name', 'title');
Ответить