Yii2 Listview如何在视图中显示数据

时间:2014-12-23 17:07:27

标签: php listview yii yii2

问候语

我想在Yii2中显示来自我的Atividades模型的数据

我的AtividadesController具有以下for ActionView2的代码

public function actionView2()
{
    $query = new Query;
    $dataProvider = new ActiveDataProvider([
        'query' => $query->from('Atividades'),
        'pagination' => [
            'pageSize' => 20,
        ],
    ]);

    // get the posts in the current page
    $posts = $dataProvider->getModels();
    return $this->render('view2', ['dataProvider' => $dataProvider, 'posts' => $posts]);

}

在我的视图2中,我有以下列表视图,其中显示的信息显示4个项目中的4个,但未显示项目

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

在Y1.xx中我有一个名为'attributes'的属性用于显示模型字段

如何在此Listview中的Yii2中显示模型文件

非常感谢

1 个答案:

答案 0 :(得分:4)

我自己解决了这个问题:)

这并不难

在我的View2中编写以下代码

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

然后复制原始视图文件,将其名称更改为_view2,将其放在同一文件夹中,并将其设置为所需样式

在我的ActividadesController中,将actionView2代码更改为:

public function actionView2()
{
    $dataProvider = new ActiveDataProvider([
    'query' => Atividades::find(),
    'pagination' => [
    'pageSize' => 20,
],
]);

// get the posts in the current page
$posts = $dataProvider->getModels();
return $this->render('view2', ['dataProvider' => $dataProvider]);
}

_View2代码

<?= DetailView::widget([
    'model' => $model,
    'attributes' => [
        //'id',
        'atividade',
        'descricao:ntext',
        //'ativo',
    ],
]) ?>

<强>解决