0

我想显示像 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))',
        )
    ),
));
?>
4

1 回答 1

0

CGridView始终在单独的行中显示每个项目。为了获得更大的灵活性(例如并排显示三个项目),您必须改用使用CListView,但这意味着您必须自己做更多的事情。

CListView具有itemView您必须设置的属性并使用指定的视图来呈现列表中的每个项目。与templateitemsTagName属性一起,您可以完全自定义列表生成的 HTML。

要每行显示三个项目,您可以使用任何通用的 CSS 技术,例如为每个项目display: inline-block和容器宽度的 1/3 的固定宽度;这将取决于您希望如何实现布局。

于 2013-01-29T12:00:58.487 回答