【问题标题】:Make CListView to close a div and open a new div after every fourth item in CListView使 CListView 关闭一个 div 并在 CListView 中的每第四个项目之后打开一个新的 div
【发布时间】:2011-12-15 08:53:26
【问题描述】:

我是 Yii 的初学者。我需要列出模型中的所有记录。所以我正在使用 view/MyModel/index.php 来解决这个问题。我使用以下代码来显示它们。

$this->widget('zii.widgets.CListView', array(
'dataProvider'=>$dataProvider,
    'template'=>'{pager}<br />{items}<br />{pager}<br />{summary}',
'itemView'=>'_view',

我应该对我显示的每四个记录进行分组。所以我必须在每四个元素之后关闭一个 div 标签,然后再打开一个新的 div 标签。

有什么方法可以让我知道 CListView 中呈现的项目数量,以便我可以在那里关闭一个 div 标签并打开一个新标签?

【问题讨论】:

    标签: php frameworks yii


    【解决方案1】:

    我刚刚写了这个教程,它提供了一个更好的解决方案:

    http://www.yiiframework.com/wiki/495/using-clistview-to-display-items-next-to-each-other-in-columns/

    【讨论】:

    • 大约一年前我问过这个问题。我不再从事 PHP 工作,也不再与同一家公司合作。很抱歉,我无法测试您的答案。
    【解决方案2】:
    if($this->dataProvider->pagination) {
    $data['realIndex']=$i+$this->dataProvider->pagination->currentPage*$this->dataProvider->pagination->pageSize;
    } else {
    $data['realIndex']=$i;
    }
    

    扩展 CListView 类可以从当前页面获取项目的当前索引值。也就是说,如果使用分页,每个页面都会有从 0 开始的项目索引。

    【讨论】:

      【解决方案3】:

      在您的“_itemView”文件中:

      // your content
      
      <?php if (($index+1) %4 == 0): ?></div><?php endif; ?>
      

      就是这样!

      【讨论】:

        猜你喜欢
        • 2017-01-30
        • 2015-10-19
        • 1970-01-01
        • 1970-01-01
        • 2014-07-21
        • 2011-10-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多