Виджет создания постраничной навигации CLinkPager имеет настройки, с помощью которых можно несколько изменить названия классов используемых для генерации постраничной навигации, но на практике часто получается что этого недостаточно, и требуется абсолютно другая структура тегов навигации. Один из вариантов решения, это не меняя существующие классы фреймворка, сделать своё отображение для постраничной навигации.
[code]
$pager = $this->createWidget( 'CLinkPager', array( 'pages' => $dataProvider->getPagination() ) );
if ($pager->getPageCount() > 1) { list($beginPage, $endPage) = $pager->getPageRange();
if ($pager->getCurrentPage(FALSE) > 0)
{
echo CHtml::link(
'Prev',
$this->createUrl(
'/news',
CMap::mergeArray(
$_GET,
array(
'page' => $pager->getCurrentPage(FALSE)
)
)
)
);
}
for($i = $beginPage; $i <= $endPage; $i++)
{
if ($i == $pager->getCurrentPage(FALSE))
{
echo '<b>'.($i + 1).'</b>';
}
else
{
echo CHtml::link(
$i + 1,
$this->createUrl(
'/news',
CMap::mergeArray(
$_GET,
array(
'page' => $i + 1
)
)
)
);
}
}
if ($pager->getCurrentPage(FALSE) < $pager->getPageCount() - 1)
{
echo CHtml::link(
'Next',
$this->createUrl(
'/news',
CMap::mergeArray(
$_GET,
array(
'page' => $pager->getCurrentPage(FALSE) + 2
)
)
)
);
}
}
[/code]
13.06.2013