- 13.01.2015 3:00
- ← Назад к списку
Один из вариантов для изменения отображение количества страниц при показе навигации в bitrix. Сделаем вывод 14 страниц в навигации, как показано на рисунке.
Копируем шаблон system.pagenavigation
в свой шаблон сайта, открываем файл template.php
и вставляем код вначале шаблона:
function numStartPage($var_1, $var_2){ $var_3 = $var_2 - $var_1; if ($var_3 >= 6){ $var_4 = $var_1 - 7; }elseif ($var_3 >= 5){ $var_4 = $var_1 - 8; }elseif ($var_3 >= 4){ $var_4 = $var_1 - 9; }elseif ($var_3 >= 3){ $var_4 = $var_1 - 10; }elseif ($var_3 >= 2){ $var_4 = $var_1 - 11; }elseif ($var_3 >= 1){ $var_4 = $var_1 - 12; }else { $var_4 = $var_1 - 13; } return $var_4; } function numEndPage($var_1, $var_2){ $var_3 = $var_2 - $var_1; if ($var_3 >= 6){ $var_4 = $var_1 + 6; }elseif ($var_3 >= 5){ $var_4 = $var_1 + 5; }elseif ($var_3 >= 4){ $var_4 = $var_1 + 4; }elseif ($var_3 >= 3){ $var_4 = $var_1 + 3; }elseif ($var_3 >= 2){ $var_4 = $var_1 + 2; }elseif ($var_3 >= 1){ $var_4 = $var_1 + 1; }else { $var_4 = $var_1; } return $var_4; } $pageCount = 14; $pageMiddleCount = 8; $var_1 = $arResult["NavPageNomer"]; $var_2 = $arResult["NavPageCount"]; if ($arResult["NavPageCount"] > $pageCount){ if ($arResult["NavPageNomer"] > $arResult["nStartPage"] && $arResult["NavPageNomer"] > $pageMiddleCount){ $arResult["nStartPage"] = numStartPage($var_1, $var_2); $arResult["nEndPage"] = numEndPage($var_1, $var_2); }else{ $arResult["nStartPage"] = 1; $arResult["nEndPage"] = $pageCount; } }else{ $arResult["nStartPage"] = 1; $arResult["nEndPage"] = $arResult["NavPageCount"]; }
Чтобы поменять количество страниц при показе навигации на свое усмотрение, нужно в коде заменить переменные $pageCount
, $pageMiddleCount
и поменять условие в функциях numStartPage()
, numEndtPage()
.