Формат разбивки на страницы CGridView

#yii #pagination #cgridview

#yii #разбивка на страницы #cgridview

Вопрос:

мне нравится получать разбивку на страницы в CGridView в этом формате

  • обычная структура: << < 1 2 3 4 5 6 7 8 9 > >>
  • требуется структура: << < 4 5 6 > >>

есть ли какое-либо решение для этого. пожалуйста, помогите мне.

Ответ №1:

Простое изменение CLinkPager

в вашей конфигурации должны быть строки:

 'import'=>array(
    'application.components.*',
),
  

Создайте файл./protected/components/LinkPager.php

 <?php 
class LinkPager extends CLinkPager {
    public $maxButtonCount=3;
}
  

Затем, когда вы используете CGridView в своем коде:

 $this->widget('zii.widgets.grid.CGridView', array(
    'dataProvider'=>$dataProvider,
    'pager'=>'LinkPager',
));
  

С помощью описанных выше шагов вы создаете новый класс pager, который используется CGridView для отображения раздела pager.

Комментарии:

1. привет @rusalex. можете ли вы предоставить мне какой-либо пример этого. я плохо разбираюсь в yii.

2. Обратите внимание, что если вы не хотите делать это глобальным, вы также можете установить атрибут maxButtonCount при определении вашего виджета.

3. @idg как бы вы это сделали?

4. @RusAlex я пробовал это с zii.widgets.CListView помощью, но это не сработало. есть идеи?