自定义数组到yii2中的arraylistview

时间:2017-01-24 10:25:31

标签: yii2 yii2-advanced-app

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

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

2 个答案:

答案 0 :(得分:1)

使用PHP MAGIC:

    $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,
   ]); 
?>

答案 1 :(得分:0)

渲染视图时,必须在此处发送此数组:

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

然后,在视图中,您可以简单地预先处理此数组并在列表中显示。 另外,你可以指定你的$ arr - 例如:

/* @var $arr Array */