我在视野中
echo ListView::widget([
'dataProvider' => $dataProvider,
'itemView' => '_list',
]);
其中_list是布局文件,我可以在其中设计每个组件的输出。 但是所有组件都在一列中一个接一个地显示出来。
我想以4 x 4平方格式显示它们。 它的最佳实践是什么?
答案 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>"
]);