Вы можете сделать это, переопределив метод renderPager () - однако, кажется, что пейджер собирается в несколько файлов, поэтому одним из способов сделать это, переопределив только один класс, будет:
переопределите zii.widgets.grid.CGridView, чтобы добавить свой собственный метод renderPager () что-то вроде:
Yii::import('zii.widgets.grid.CGridView');
class MyGrid extends CGridView {
public function renderPager() { ... }
}
функция renderPager () по умолчанию здесь .
Что вы хотите сделать, так это найти строку, которая проверяет содержимое пейджера:
if($pager['pages']->getPageCount()>1) {
и измените инструкцию "else", чтобы добавить в содержимое по умолчанию "пустой" пейджер, который может использовать ту же структуру <ul>
. Поскольку вы не предоставляете никакой навигации для пустого представления, вам не нужно беспокоиться об этих данных, если они используются в нескольких местах. Это может выглядеть примерно так:
else {
echo '<div class="'.$this->pagerCssClass.'">';
## YOUR CUSTOM "EMPTY PAGER" HTML HERE ##
echo '</div>';
}
Возможно, вам также понадобится определить пару дополнительных классов CSS. На страницах, где отображается только часть нумерации страниц (например, первая и последняя страницы), вы можете использовать CSS, чтобы переопределить класс (ы) .hidden.