Я новичок в 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, ));
Может кто-нибудь, пожалуйста, скажите мне, как мне начать с этого? Я видел несколько сообщений, но не смог получить правильную информацию.
Заранее спасибо.
Вам нужно установить свойство 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
.
Вы можете сослаться на ссылку:
Yii2: Как настроить стиль разбивки на страницы и другие ярлыки
Здесь вы получите большинство параметров для настройки пользовательских ярлыков разбивки на страницы