Yii 根据 ClistView 获取页面大小

Yii get pagesize in view of ClistView

如何在我的视图中获取当前页面大小?我希望能够在页面大小达到一半时添加横幅。

如果页面大小为 10,则在位置 5 插入横幅

我试着在我的 view.php

中添加这个
if ($index == ($dataProvider->pagination->pageSize / 2)) { ... }

这是我的 index.php

$this->widget ( 'site.common.extensions.EListView.EListView', array (
        'dataProvider' => $dataProvider,
        'itemView' => '_view_gallery',
        'pagerCssClass' => 'pagination',
        'template' => '
                <div class="row">
                <div class="col-md-12">
                <div class="row">
                    <div class="col-md-12">
                        <div class="pull-right">{sorter}</div>
                        <div class="pull-left"></div>
                    </div>
                </div>
                <div class="row">
                    <div class="col-md-12">{items}</div>
                </div>
                <div class="row padding-top-20px">
                    <div class="col-md-12">
                        {pager}
                    </div>
                </div>
                </div></div>',
        'pager' => array (
                'id' => '_pagination',
                'class' => 'LinkPager',
                'header' => '',
                'htmlOptions' => array (
                        'class' => 'pagination'
                )
        ),
        'emptyText' => '<div class="alert alert-info">No result found.</div>'
    )
);

但什么也没发生。

我目前正在使用此扩展来创建每页页面大小。

http://www.yiiframework.com/extension/elistview

也试过不使用这个扩展,但还是不行。 我正在使用 Yii 1.1.16

有什么想法吗?

在您的 _view_gallery.php 中,您可以使用可用于 CListView 和 CGridView (http://www.yiiframework.com/wiki/252/special-variables-in-cgridview-and-clistview/) 的特殊变量来获取 pageSize。

可能看起来像这样:

if($widget->dataProvider->pagination->pageSize == 10){
  //do something here
}

直接访问 $dataProvider 不会产生任何结果,因为该变量对视图没有任何意义。