1648053976 2012-01-18 15:52:48 5305次浏览 3条回复 0 0 0

我怎么用 zii.widgets.CListView 实现这种列表格式

<ul>
<li></li>
<li></li>
<li class="on"></li>
<li></li>
<li></li>
<li class="on"></li>
<li></li>
<li></li>
<li class="on"></li>
<li></li>
<li></li>
<li class="on"></li>
</ul>

view

<?php 
$this->widget('zii.widgets.CListView', array(
    'dataProvider'=>$dataProvider,
    'pager'=>array(
        'class'=>'CLinkPager',
        'firstPageLabel'=>'&lt; &lt; First  ',
        'lastPageLabel'=>'Last &gt;&gt;',
        'nextPageLabel'=>'Next &gt; ',
        'prevPageLabel'=>'&lt; Previous',
        'header'=>'',
        'cssFile'=>'page',//如果使用主css文件,那么这里可以写false,如果使用其它附加css文件,我们这里填写css文件名。
),
    'itemsTagName'=>'ul',       
    'itemView'=>'_view1',
    'ajaxUpdate'=>false,       
    'htmlOptions'=>array('class'=>'article'),       
    'template'=>'{items}{pager}',
    'pagerCssClass'=>'page',            
)); ?>

在这里面应该怎么加逻辑呀?

  • 回复于 2012-01-30 11:20 举报

    解决了
    在 zii.widgets.CListView 有个itemView 有个附加参数
    用于显示数据项的视图. 这个属性值应该作为第一个参数传递给 CController::renderPartial 或者 CWidget::render 来显示每个数据项. 在类似的视图模板中, 以下的参数可以作为 viewData的附加参数:

    $this: 指的是list view 挂件widget的拥有者. 例如, 如果这个list view 挂件(widget)在某个controller的视图中, 那么 $this 指的是 controller.
    $data: 指的是当前被显示(操作)的数据项.
    $index: 指的是当前被显示(操作)的数据项的索引,以0开始.
    $widget: 指的是当前的list view 挂件(widget)的实例.
    直接在视图文件中加 $index 就行了写

    <li <?php echo ($index+1)%3!=0?'':'class="on"';?> >
    <div class="picshow"><a href="<?php echo Yii::app()->request->baseUrl.$data->file; ?>"><img src="<?php echo Yii::app()->request->baseUrl.$data->image; ?>" width="114" height="76"></a></div>
    <div class="picname"><?php echo $data->title;?></div>
    </li>
    
  • 回复于 2012-03-08 18:47 举报

    很好的方法 :)

  • 回复于 2016-03-04 22:54 举报

    我想改列表的样式,怎么搞啊

您需要登录后才可以回复。登录 | 立即注册