Собственно, столкнулся с проблемой в пагинации. Есть следующая задача: на странице с помощью CIBlockElement::GetList нужно получать записи из инфоблока, фильтруя их по 2-м свойствам - если после поиска по первому ничего нет, то произвести поиск по второму. сам скрипт выглядит примерно так:
А проблема собственно в следующем - если в первой выборке что-то находится, то пагинация работает правильно, выдавая $PAGEN_2, но, вот если выборка пуста и ищется по другому свойству, то выводится $PAGEN_1 для пагинации, но, переключение между страницами не работает..
что тут не так?
Код |
---|
<? //Выборка по первому свойству $arSelect = Array("ID", "NAME", "PREVIEW_PICTURE", "DETAIL_PAGE_URL", "PREVIEW_TEXT", "PROPERTY_MAIN_TAG"); $arFilter = Array("IBLOCK_ID"=>1, "ACTIVE"=>"Y", "PROPERTY_MAIN_TAG" =>$_REQUEST['SECTION_ID']); $db_list=CIBlockElement::GetList(Array($ORDER_BY=>"DESC"), $arFilter, false, Array("nPageSize"=>10,"iNumPage"=>$PAGEN_2), $arSelect); //Проверить выборку на пустоту if ($db_list->SelectedRowsCount()==0) { //Первая выорка пуста, проверить по второму свойству $arSelect = Array("ID", "NAME", "PREVIEW_PICTURE", "DETAIL_PAGE_URL", "PREVIEW_TEXT", "PROPERTY_MAIN_TAG", "PROPERTY_SECOND_TAGS"); $arFilter = Array("IBLOCK_ID"=>1, "ACTIVE"=>"Y", "PROPERTY_SECOND_TAGS" =>$_REQUEST['SECTION_ID']); $db_list=CIBlockElement::GetList(Array($ORDER_BY=>"DESC"), $arFilter, false, Array("nPageSize"=>10,"iNumPage"=>$PAGEN_1), $arSelect); //Запустить цикл while($ar_result = $db_list->GetNext()) { //вывод контента } $navString=$db_list->GetPageNavStringEx($navComponentObject, "", "aqua_pagination", "Y"); echo $navString; } else { //Выборка не пуста, выводим из главного тега, а потом еще и по вспомогательным while($ar_result = $db_list->GetNext()) { //вывод контента } $navString=$db_list->GetPageNavStringEx($navComponentObject, "", "aqua_pagination", "Y"); echo $navString; } ?> |
А проблема собственно в следующем - если в первой выборке что-то находится, то пагинация работает правильно, выдавая $PAGEN_2, но, вот если выборка пуста и ищется по другому свойству, то выводится $PAGEN_1 для пагинации, но, переключение между страницами не работает..
что тут не так?
дутл в зутл, ничего не понимаю %)