Навигация по страницам для постраничного вывода строится вызовом функции NavPrint, которая является членом класса CDBResult.
Вот общее описание функции:
CDBResult::NavPrint($title, $show_allways=false, $StyleText="text", $template_path = false)
где $title - заголовок навигации (строка),
$show_allways - показывать ли навигацию, если все поместилось на одну страницу (логическая),
$StyleText - CSS стиль текста, которым выводится навигация
$template_path - путь относительно корня сайта к файлу-шаблону для построения навигации (если не задан, то выводится как задано по-умолчанию).
Таким образом Вы можете сделать полностью свой шаблон вывода постраничной навигации. При этом вы можете опираться на переменные
$this->bFirstPrintNav - вызов в первый раз
$this->NavPageNomer - номер текущей страницы
$this->NavPageCount - всего страниц
$this->NavPageSize - размер страницы
$this->NavRecordCount - количество всего записей
$this->bShowAll - разрешено ли показывать "все"
$this->NavShowAll - сейчас показываются все, а не постранично
$this->NavNum - номер навигации на странице
$this->nStartPage - первая страница в цепочке
$this->nEndPage - последняя страница в цепочке
$strNavQueryString - параметры страницы без параметров навигации
$sUrlPath - урл текущей страницы
Ссылка на страницу #PAGE_NUMBER# будет формироваться следующим образом:
$sUrlPath.'?PAGEN_'.$this->NavNum.'='.#PAGE_NUMBER#.$strNavQueryString.'#nav_start"
Вот пример простого шаблона:
<?
if ($this->bFirstPrintNav)
{
echo('<a name="nav_start"></a>');
$this->bFirstPrintNav = false;
}
$NavRecordGroup = $this->nStartPage;
echo "<div style='margin-left: 3px;'>";
echo "<table width=222 border=0 cellspacing=0 cellpadding=0>";
echo "<tr align=center valign=middle>";
while ($NavRecordGroup <= $this->nEndPage)
{
if ($NavRecordGroup == $this->NavPageNomer)
{
echo "<td width=20 bgcolor=#D9D9D9 class=paging>";
echo $NavRecordGroup;
echo "</td>";
echo "<td width=2 align=left valign=top>";
echo "<img src='/images/1.gif' width=1 height=1>";
echo "</td>";
}
else
{
echo "<td width=20 bgcolor=#D6DFED class=paging>";
echo "<a href='".$sUrlPath."?PAGEN_".$this->NavNum."=".$NavRecordG roup.$strNavQueryString."#nav_start' class=paging>";
echo $NavRecordGroup;
echo "</a>";
echo "</td>";
echo "<td width=2 align=left valign=top>";
echo "<img src='/images/1.gif' width=1 height=1>";
echo "</td>";
}
$NavRecordGroup++;
}
echo "<td bgcolor=#D6DFED> </td>";
echo "</tr>;";
echo "</table>";
echo "</div>";
?>