O widget ListView usa um provedor de dados para exibir dados. Cada modelo é renderizado usando o arquivo de vista especificado.
Step 1 - Modifique o actionDataWidget() método desta forma.
public function actionDataWidget() {
$dataProvider = new ActiveDataProvider([ 'query' => MyUser::find(), 'pagination' => [ 'pageSize' => 20, ], ]); return $this->render('datawidget', [
'dataProvider' => $dataProvider
]);
}
No código acima, criamos um provedor de dados e o passamos para a visualização datawidget.
Step 2 - Modifique o arquivo de visualização do datawidget desta forma.
<?php
use yii\widgets\ListView;
echo ListView::widget([
'dataProvider' => $dataProvider,
'itemView' => '_user',
]);
?>
Renderizamos o widget ListView. Cada modelo é renderizado na visualização _user .
Step 3 - Crie um arquivo chamado _user.php dentro de views/site pasta.
<?php
use yii\helpers\Html;
use yii\helpers\HtmlPurifier;
?>
<div class = "user">
<?= $model->id ?> <?= Html::encode($model->name) ?>
<?= HtmlPurifier::process($model->email) ?>
</div>
Step 4 - Tipo http://localhost:8080/index.php?r=site/data-widget na barra de endereço do navegador da web, você verá o seguinte.