Yii在自定义CListView中插入html

时间:2013-01-10 14:25:07

标签: php yii widget

我的问题:两个分页选项分开列。

我有:

<div class="search_result searchconright">
    <?php
    $this->widget('zii.widgets.CListView', array(
        'id' => 'listViewSearch',
        'dataProvider' => $model->search(),
        'itemView' => '_index_post',
        'enablePagination' => true,
        'pager' => array(
                        'cssFile' => Yii::app()->baseUrl . '/css/clistview.css',
                        'header' => false,
                        'firstPageLabel' => 'First',
                        'prevPageLabel' => 'Previous',
                        'nextPageLabel' => 'Next',
                        'lastPageLabel' => 'Last',
                    ),
        'summaryText' => '',
        'sortableAttributes' => array(
        ),
    ));
    ?>
</div>
<div class="pagetxt">
    <span>View</span>
    <a class="page_search_limit">All</a>
    &nbsp;&nbsp;
    <a class="page_search_limit page_search_limit_active">3</a>
    &nbsp;
    <a class="page_search_limit page_search_limit_active">5</a>
    &nbsp;
    <a class="page_search_limit page_search_limit_active">24</a>
    &nbsp;
    <a class="page_search_limit">48</a>
</div>

并且我想在窗口小部件中插入来自类pagetxt的整个html,因为第二个分页是在窗口小部件的分页下;我希望他们在同一条线上

另外,欢迎其他建议

分页:enter image description here

3 个答案:

答案 0 :(得分:1)

我认为你可以用CSS做到这一点:

.search_result, .pagetxt {
    display: inline-block;
}

要更改CListView分页HTML,您必须创建一个新的CLinkPager及其传递参数。所以我认为CSS更简单:)

答案 1 :(得分:1)

这纯粹是一个布局问题:您需要将寻呼机渲染为内嵌自定义HTML。

这样做的一种方法是使用CSS为这两个DIV提供display: line-block,但当然你也可以使用浮动等其他技术。

您可以通过在列表视图中设置pagerCssClass属性轻松定位股票寻呼机;默认值只是"pager",因此您可以执行

$this->widget('zii.widgets.CListView', array(
        'id' => 'listViewSearch',
        'pagerCssClass' => 'pager pager-inline'
        // ...
);

然后例如

.pager.pager-inline, .pagetxt {
    display: inline-block;
}

答案 2 :(得分:1)

您有两个选项,首先是您的方式,您可以使用CListView的template属性,在窗口小部件中添加您想要的HTML。

但看起来你要做的是允许用户指定每页要查看的元素数量,所以我建议使用类似PageSize extension