Темизация CLinkPager в Yii фрейморке

Виджет создания постраничной навигации 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