Created
January 20, 2016 06:41
-
-
Save MkShaman/d040b626dfdc4fd65e02 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| file result_modifier.php | |
| <? | |
| // сортировку берем из параметров компонента | |
| $arSort = array( | |
| $arParams["SORT_BY1"]=>$arParams["SORT_ORDER1"], | |
| $arParams["SORT_BY2"]=>$arParams["SORT_ORDER2"], | |
| ); | |
| // выбрать нужно id элемента, его имя и ссылку. Можно добавить любые другие поля, например PREVIEW_PICTURE или PREVIEW_TEXT | |
| $arSelect = array( | |
| "ID", | |
| "NAME", | |
| "DETAIL_PAGE_URL" | |
| ); | |
| // выбираем активные элементы из нужного инфоблока. Раскомментировав строку можно ограничить секцией | |
| $arFilter = array ( | |
| "IBLOCK_ID" => $arResult["IBLOCK_ID"], | |
| //"SECTION_CODE" => $arParams["SECTION_CODE"], | |
| "ACTIVE" => "Y", | |
| "CHECK_PERMISSIONS" => "Y", | |
| ); | |
| // выбирать будем по 1 соседу с каждой стороны от текущего | |
| $arNavParams = array( | |
| "nPageSize" => 1, | |
| "nElementID" => $arResult["ID"], | |
| ); | |
| $arItems = Array(); | |
| $rsElement = CIBlockElement::GetList($arSort, $arFilter, false, $arNavParams, $arSelect); | |
| $rsElement->SetUrlTemplates($arParams["DETAIL_URL"]); | |
| while($obElement = $rsElement->GetNextElement()) | |
| $arItems[] = $obElement->GetFields(); | |
| // возвращается от 1го до 3х элементов в зависимости от наличия соседей, обрабатываем эту ситуацию | |
| if(count($arItems)==3): | |
| $arResult["TORIGHT"] = Array("NAME"=>$arItems[0]["NAME"], "URL"=>$arItems[0]["DETAIL_PAGE_URL"]); | |
| $arResult["TOLEFT"] = Array("NAME"=>$arItems[2]["NAME"], "URL"=>$arItems[2]["DETAIL_PAGE_URL"]); | |
| elseif(count($arItems)==2): | |
| if($arItems[0]["ID"]!=$arResult["ID"]) | |
| $arResult["TORIGHT"] = Array("NAME"=>$arItems[0]["NAME"], "URL"=>$arItems[0]["DETAIL_PAGE_URL"]); | |
| else | |
| $arResult["TOLEFT"] = Array("NAME"=>$arItems[1]["NAME"], "URL"=>$arItems[1]["DETAIL_PAGE_URL"]); | |
| endif; | |
| // в $arResult["TORIGHT"] и $arResult["TOLEFT"] лежат массивы с информацией о соседних элементах | |
| ?> | |
| templates.php | |
| <?if(is_array($arResult["TOLEFT"])):?> | |
| <a href="<?=$arResult["TOLEFT"]["URL"]?>"> | |
| < <?=$arResult["TOLEFT"]["NAME"]?> | |
| </a> | |
| <?endif?> | |
| <?if(is_array($arResult["TORIGHT"])):?> | |
| <a href="<?=$arResult["TORIGHT"]["URL"]?>"> | |
| <?=$arResult["TORIGHT"]["NAME"]?> > | |
| </a> | |
| <?endif?> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment