在 yii2 中自定义数组到 arraylistview

Custom array to arraylistview in yii2

我的 Yii 2 控制器中有自定义数组,我必须在列表视图中显示。

$arr = ['ABC.txt','DEF.txt','HKL.txt','ADS.txt','DDF.txt'];
 //this array pass from controller to view

渲染视图时,必须将此数组发送到那里:

$this->render('yourView', ['arr' => $arr]);

然后,在视图中,你可以简单地foreach这个数组并显示在列表中。 另外,你必须指定你的 $arr 是什么 - 比如:

/* @var $arr Array */

使用PHP魔法:

    $arr = ['ABC.txt','DEF.txt','HKL.txt','ADS.txt','DDF.txt'];
    $formattedArray = [];
    foreach($arr as $fileName) {
        $formattedArray[] = ['name' => $fileName];
    }

定义一个 ArrayDataProvider:

    $dataProvider = new ArrayDataProvider([
        'allModels' => $formattedArray,
    ]);

传递给查看:

return $this->render('yourView', ['dataProvider' => $dataProvider]);

在yourview.php中:

<?= 
   ListView::widget([
      'dataProvider' => $dataProvider,
   ]); 
?>