列表视图的yii2格式数据输出为4x4网格

时间:2017-06-22 09:29:39

标签: listview yii2 grid

我在视野中

echo ListView::widget([
    'dataProvider' => $dataProvider,
    'itemView' => '_list',
]);

其中_list是布局文件,我可以在其中设计每个组件的输出。 但是所有组件都在一列中一个接一个地显示出来。

我想以4 x 4平方格式显示它们。 它的最佳实践是什么?

2 个答案:

答案 0 :(得分:3)

我不知道你的造型,但这个应该有效。

echo ListView::widget([
    'dataProvider' => $dataProvider,
    'itemView' => '_list',
    'itemOptions' => [
        'class' => 'item-class',
    ],
    'options' => ['class' => 'parent-class'],    
    'layout' => "<div class='parent-class'>{items}</div>"
]);

使用此代码块,使用此fiddle

答案 1 :(得分:1)

在专栏中?不是连续的?
我认为这是因为你的项目中有一些风格 您可以通过样式以任何顺序放置ListView中的元素。 我更喜欢使用css3 flexbox,看看https://css-tricks.com/snippets/css/a-guide-to-flexbox/ 您可以为每个项目及其父项设置类,并根据需要设置样式(您可以在此处找到所有可用选项http://www.yiiframework.com/doc-2.0/yii-widgets-listview.html)。

echo ListView::widget([
    'dataProvider' => $dataProvider,
    'itemView' => '_list',
    'itemOptions' => [
        'class' => 'item-class',
    ],
    'options' => ['class' => 'parent-class'],    
    'layout' => "<div class='parent-class'>{items}</div>"
]);