Yii2 ListView 不显示 HTML

Yii2 ListView not display HTML

我已经为测验应用程序创建了一个列表视图。但它显示 html.

This is how it displays

Inspect elements

我的代码:

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

我的观点:

<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 的解决方案。

感谢您的所有建议和帮助。

你应该render你的模板是这样的:

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

hereapp\modules\quiz\controllers\SiteController 的 yii2-quiz 标题编码 $answer->title = Html::encode($question->title);

因此您的标题中的 html 标签已编码。

您可以评论它并提交您的答案以检查它。

使用Html::decode($model->title);解决。