Как я могу настроить метки для пейджера в Yii? - PullRequest
7 голосов
/ 08 декабря 2011

Я новичок в Yii. Я хочу реализовать пользовательскую нумерацию страниц. Я хочу изменить внешний вид пейджера. Как изменить метки ссылок на пейджер?

Я хочу, чтобы ссылки выглядели так:

<<  <  1  2  3  4  >  >>

вместо их внешнего вида по умолчанию, например:

[first] [previous]  1  2  3  4  [next] [last]

Я использую CListView для отображения данных, которые я настроил следующим образом:

$this->widget('zii.widgets.CListView', array(
            'dataProvider' => $categoryProjects,
            'itemView' => '_itemDetailsView',           
            'ajaxUpdate'=>false,
        ));

Может кто-нибудь сказать, с чего мне начать? Я видел некоторые сообщения, но не смог получить нужную информацию.

Заранее спасибо.

Ответы [ 2 ]

12 голосов
/ 08 декабря 2011

Вам необходимо установить pager свойство CListView.По умолчанию это CLinkPager;вам не нужно менять это (этот компонент покрывает ваши потребности), но вам нужно настроить его:

$this->widget('zii.widgets.CListView', array(
            'dataProvider' => $categoryProjects,
            'itemView'     => '_itemDetailsView',
            'ajaxUpdate'   => false,
            'pager'        => array(
                                'class'          => 'CLinkPager',
                                'firstPageLabel' => '<<',
                                'prevPageLabel'  => '<',
                                'nextPageLabel'  => '>',
                                'lastPageLabel'  => '>>',
                              ),
        ));

Обновление: Если вы хотите «запечь»Приведенная выше пользовательская конфигурация для всех представлений списка в вашем приложении, вы должны создать новый CustomListView компонент, производный от CListView.Итак, вам нужен этот класс:

Yii::import('zii.widgets.CListView');

class CustomListView extends CListView {
    public function init() {
        parent::init();

        $this->pager = array( 
                            'class'          => 'CLinkPager', 
                            'firstPageLabel' => '<<', 
                            'prevPageLabel'  => '<', 
                            'nextPageLabel'  => '>', 
                            'lastPageLabel'  => '>>', 
                       );
    }
}

После включения этого вы можете просто использовать CustomListView в качестве виджета списка вместо zii.widgets.CListView.

1 голос
/ 21 июня 2017

Вы можете обратиться по ссылке:

Yii2: Как настроить стиль нумерации страниц и другие метки

Здесь вы получите большинство параметров дляпользовательские ярлыки нумерации страниц

...