1

My problem: the two pagination options are on separate lines.

I have:

<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>

and i would like to insert the entire html from class pagetxt in the widget, because the seccond pagination, is under the widgets pagination; i would like them to be on the same line

also, other suggestions are welcomed

the pagination: enter image description here

4

3 に答える 3

1

CSSでこれを行うことができると思います:

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

CListView ページネーション HTML を変更するには、新しい CLinkPager を作成し、それにパラメーターを渡す必要があります。だから、CSSの方がずっと簡単だと思います:)

于 2013-01-10T14:35:03.640 に答える
1

これは純粋にレイアウトの問題です。ページャーをカスタム HTML とインラインでレンダリングする必要があります。

これを行う 1 つの方法はdisplay: line-block、これらの DIV の両方に CSS を使用することですが、もちろん、フローティングなどの他の手法を使用することもできます。

pagerCssClassリスト ビューでプロパティを設定することにより、株式ページャーを簡単にターゲットにすることができます。デフォルトは単純な"pager"ので、次のことができます

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

そして、例えば

.pager.pager-inline, .pagetxt {
    display: inline-block;
}
于 2013-01-10T14:35:32.423 に答える
1

2 つのオプションがあります。最初の方法は、CListViewのテンプレートプロパティを使用して、ウィジェット内の必要な場所に HTML を追加することです。

しかし、あなたがやろうとしているのは、ユーザーがページごとに表示したい要素の数を指定できるようにすることです。そのため、PageSize 拡張のようなものを使用することをお勧めします

于 2013-01-10T15:35:51.500 に答える