Виджет в виджете

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

Виджет в виджете

Сообщение AlexLEON »

Добрый день.
Есть Gridview со списком вопросов
Появилась потребность в ячейке с вопросом подгрузить список ответов, но чтобы это было в виде списка.
Вот мой код:

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

    <?= GridView::widget([
        'dataProvider' => $dataProvider,
        'filterModel' => $searchModel,
        'columns' => [
            ['class' => 'yii\grid\SerialColumn'],
            'question' => [
                'attribute' => 'question',
                'format'    => 'html',
                'value'     => function($model){
                    return Collapse::widget([
                        'items' => [
                            [
                                'label' => $model->question,
                                'content' => ArrayHelper::map(
                                        AnswersSearch::findAll(['id_question'=> $model->id]), 'id', 'answer'),
                            ],
                        ]
                    ]);
                },
            ],

            ['class' => 'yii\grid\ActionColumn',
            'header'=> 'Действия',
            'template' => '{view} {update} {delete} {addanswer}',
            'buttons' => [
                'view' => function($url, $model){
                    return Html::a('<span class="glyphicon glyphicon-eye-open"></span>',
                            Url::to(['answers/index', 'id_question' => $model->id]),
                            ['title' => 'Просмотр ответов']
                            );
                },
                'addanswer' => function($url, $model){
                    return Html::a('<span class="glyphicon glyphicon-plus"></span>',
                            Url::to(['answers/create', 'id_question' => $model->id]),
                            ['title' => 'Добавить ответ']
                            );
                },
                ],                
            ],
        ],
    ]); ?>
Все выводится как надо, но виджет Collapse не разворачивает список. Помогите, пожалуйста, поправить.
ЗЫ: если вместо

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

return Collapse::widget
прописать

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

echo Collapse::widget
список, почему-то, выводится над Gridview, но сворачивание/разворачивание работает
Аватара пользователя
proctoleha
Сообщения: 298
Зарегистрирован: 2016.07.10, 19:00

Re: Виджет в виджете

Сообщение proctoleha »

Вместо

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

'format'    => 'html'
Попробуйте

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

'format'    => 'raw'
Вот за что я не люблю линукс, так это за свои кривые, временами, руки
AlexLEON
Сообщения: 2
Зарегистрирован: 2018.02.25, 18:53

Re: Виджет в виджете

Сообщение AlexLEON »

Спасибо, помогло)
Закрыто