Yii - Widget ListView

Le widget ListView utilise un fournisseur de données pour afficher les données. Chaque modèle est rendu à l'aide du fichier de vue spécifié.

Step 1 - Modifier le actionDataWidget() méthode de cette façon.

public function actionDataWidget() {
   $dataProvider = new ActiveDataProvider([
      'query' => MyUser::find(),
      'pagination' => [
         'pageSize' => 20,
      ],
   ]);
   return $this->render('datawidget', [
      'dataProvider' => $dataProvider
   ]);
}

Dans le code ci-dessus, nous créons un fournisseur de données et le transmettons à la vue datawidget.

Step 2 - Modifiez le fichier de vue datawidget de cette façon.

<?php
   use yii\widgets\ListView;
   echo ListView::widget([
      'dataProvider' => $dataProvider,
      'itemView' => '_user',
   ]);
?>

Nous rendons le widget ListView. Chaque modèle est rendu dans la vue _user .

Step 3 - Créez un fichier appelé _user.php à l'intérieur de views/site dossier.

<?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 - Type http://localhost:8080/index.php?r=site/data-widget dans la barre d'adresse du navigateur Web, vous verrez ce qui suit.