function GetAllCount($ID,$BLOCK) { $nav = CIBlockSection::GetByID($ID); $navEnd = $nav->GetNext(); $arFilter = array( 'IBLOCK_ID' => $BLOCK, 'LEFT_MARGIN' => $navEnd['LEFT_MARGIN'], 'RIGHT_MARGIN' => $navEnd['RIGHT_MARGIN'] ); $sections = CIBlockSection::GetTreeList($arFilter); while($ar_dep = $sections->GetNext()) { echo $ar_dep['NAME'].'<br>'; } } |
С фильтром все ок, оказывается у LEFT_MARGIN и RIGHT_MARGIN может быть только два типа проверки фильтра: >= или < для LEFT_MARGIN и наоборот для RIGHT_MARGIN. А >= и <= ставятся для LEFT_MARGIN и RIGHT_MARGIN соответственно по умолчанию (если заданы).
Т.е. меня смутило что не так составлен фильтр:
Вот хоть какая-то польза есть, узнал особенность применения типов фильтрации для этих полей.
Т.е. меня смутило что не так составлен фильтр:
... '>=LEFT_MARGIN' => $navEnd['LEFT_MARGIN'], '<=RIGHT_MARGIN' => $navEnd['RIGHT_MARGIN'] ... |
Вот хоть какая-то польза есть, узнал особенность применения типов фильтрации для этих полей.