переопредилить CLinkPager

Проблема такая, пагинатор имеет свой дизайн, надо переделать. Я изменил в CLinkPager но это неправильно. Как правильно ?

Правильно:

  1. Использовать свойства firstPageLabel, footer и т.д.

  2. Если не подходит, наследовать либо CLinkPager, либо CBasePager (а еще есть CListPager).

Ждать когда введут атрибут class для переопределения род. css класса. Это сделали с деревьями, думаю с пагинатором тоже скоро будет.

В createPageButton() принимает поле "class":

мне кажется это именно то что вам надо. просто переопредели createPageButton()

измени css или создай свой с теми же названиями классов и подключи вместе с остальными. м?

Сделал так; в сомпонентах прописал виджет Pager


<?php 

class Pagers extends CWidget {

	var $pages; 	

	public function init(){

     <!-- параметры отображения -->

	$maxButtonCount=5; // пять кнопок 

	$header='';        // пустой хидер

	$prevPageLabel='<';// только стрелки

	$nextPageLabel='>';


	$this->render('pagers', array(

			'pages'=>$this->pages,

			'maxButtonCount'=>$maxButtonCount,

			'header'=>$header,

			'prevPageLabel'=>$prevPageLabel,

			'nextPageLabel'=>$nextPageLabel,

		));

	}

	

}

?>



И вюху pager с виджетом CLinKpager ,из виджета передал параметры отображения.


<!-- views pagers.php -->

<?php $this->widget(

          'CLinkPager',array(

	        'pages'=>$pages, 

		'maxButtonCount'=>$maxButtonCount, 

		'prevPageLabel'=>$prevPageLabel, 

		'nextPageLabel'=>$nextPageLabel,

		'header'=>$header, 

	));

?>

Там где необходимо вызван виджет Pager и передана параметр $pages

<?php $this->widget(‘Pagers’,array(‘pages’=>$pages)); ?>

И все пучком :)

НО! как вписать все в виджет без создания вюхи ?

В СLinkPager есть возможность подключить свой cssFile. С его помощью можно сделать с внешним видом вывода СLinkPager всё что тебе нужно. Ты уверен, что тебе этого недостаточно?

Но ведь css не отменит вывод елементов "Next" "Last" "Goto page" верно ?

ну к, примеру, он может сделать их "невидимыми"

уву, display:none и не замарачиваешся.

Ещё способ. Заменить локализацию сообщений. Удобно, когда они всё равно переводятся.

Подробнее:

Интернационализация

Ну и плюс имеются свойства самого CLinkPager, которые позволяют настроить что и как показывать.

а все равно пустые кнопки будет выводить если в переводе ничего незадать

Ну тогда да. CSS нас спасёт :)

Пока оставил как есть (чезез виджет) есть болие глобальные задачи :)