Yii2 ListView не отображается HTML - PullRequest
0 голосов
/ 07 января 2020

Я создал представление списка для приложения викторины. Но он отображает html.

Вот так он отображается

Проверять элементы

Мой код:

echo ListView::widget([
            'dataProvider' => $dataProvider,
            // 'format' => 'raw',
            'itemView' => '_view',
            'layout'=>'{pager}{items}{pager}',
        ]);

My _view:

<div class="quiz-answer">
<?php
    echo $model->title;
?>
<br/>
<?php
    echo Html::radioList($model->id, $model->user_answer, $model->answers, array('class' => 'question'));
?>

Я нашел решение с помощью HTML :: decode.

Спасибо за все ваши предложения и помощь.

Ответы [ 3 ]

0 голосов
/ 07 января 2020

В hereapp\modules\quiz\controllers\SiteController заголовка yii2-викторины закодировано $answer->title = Html::encode($question->title);

, поэтому тег html в заголовке закодирован.

вы можете прокомментировать его и отправить свой ответ, чтобы проверить его ,

0 голосов
/ 07 января 2020

Решено с помощью Html::decode($model->title);.

0 голосов
/ 07 января 2020

Вы должны render свой шаблон так:

echo ListView::widget([
            'dataProvider' => $dataProvider,
            // 'format' => 'raw',
            'itemView' => function($model){
                return $this->render('_view',[
                    'model' => $model
                ]);
            },
            'layout'=>'{pager}{items}{pager}',
        ]);
...