我想像magento一样显示网格视图 http://demo.magentocommerce.com/catalog/category/view/s/cellphones/id/8/
这里我们可以看到多个项目显示在同一行...... 在上面的链接中,我们可以看到每行显示3个项目(行)。
目前我正在使用此代码,并且每行显示使用此单行
<?php
$this->widget('zii.widgets.grid.CGridView', array(
'dataProvider'=>$dataProvider,
'enablePagination'=>false,
'columns'=>array(
'brand',
array(
'name'=>'model',
'header'=>'Model',
'type'=>'raw',
'value'=>'$data->model.($data->marketing_name?" (".$data->marketing_name.") ":"")'
),
array(
'name'=> 'platform',
'header'=>'Platform',
'type'=>'raw',
'value'=>'$data->platform->platform." ".$data->platform->platform_version'
),
array(
'name'=>'add',
'header'=>'Action',
'type'=>'html',
'value'=> 'CHtml::link("Add To My device", Yii::app()->createUrl("/site/add_device/id/".$data->id))',
)
),
));
?>
答案 0 :(得分:0)
CGridView
始终在单独的行中显示每个项目。为了获得更大的灵活性(例如并排显示三个项目),您必须切换到使用CListView
,但这意味着您必须自己做更多事情。
CListView
具有itemView
属性,您必须设置该属性并使用指定的视图呈现列表中的每个项目。结合template
和itemsTagName
属性,您可以完全自定义列表生成的HTML。
要显示每行三个项目,您可以使用任何通用CSS技术,例如给每个项目display: inline-block
和固定宽度为容器宽度的1/3;这取决于您希望如何实现布局。