Кэшируется последняя открытая страница пагинации в Bitrix

При создании пагинации методом CDBResult::GetPageNavStringEx(),например
  $db_res = CIBlockElement::GetList($arOrder, $arFilter, false, array(
              "nPageSize" => $limit,
                  ),$arSelect);
  $nav_string = $db_res->GetPageNavStringEx($navComponentObject, '', '.default', 'Y');
может возникнуть ситуация когда кэшируется номер последней просмотренной страницы - номер страницы сохраняется в сессии.
Чтобы номер последней просмотренной страницы навигации не кэшировался (не сохранялся в сессии) необходимо добавить следующую строку перед вызовом GetList()
CPageOption::SetOptionString("main", "nav_page_in_session", "N");

В итоге должно выглядеть примерно так:
  CPageOption::SetOptionString("main", "nav_page_in_session", "N");
  $db_res = CIBlockElement::GetList($arOrder, $arFilter, false, array(
              "nPageSize" => $limit,
                  ),$arSelect);
  $nav_string = $db_res->GetPageNavStringEx($navComponentObject, '', '.default', 'Y');

Комментарии