Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Выбор элементов из нескольких разделов с пересечением

00 голосов
3
Вопрос такой.

Есть структура разделов инфоблока

Код
IBLOCK
  Раздел1
    Подраздел1
    Подраздел2
  Раздел2
    Подраздел3
    Подраздел4


Элементы входят в любые подразделы.
Как стандартными методами Битрикса реализовать вывод элементов, которые есть одновременно в Подразделе1 и Подразделе3, например?

Если свойство SECTION_ID в методе CIBlockElement::GetList является массивом, то в выборке оказываются все элементы, которые есть и в Подразделе1, и в Подразделе3 - то есть пересечения не получается, а именно оно и нужно.

Спасибо.
спросил 31 Март, 14 от Roar (100 баллов)

3 Ответы

00 голосов
Возможно это можно сделать с помощью Битриксовских функций,
но вы можете получившийся массив прогнать через функцию php array-unique.
ответил 11 Окт, 14 от potriot45 (120 баллов)
00 голосов
Цитата
Имя Фамилия пишет:
но вы можете получившийся массив прогнать через функцию php array-unique .


а смысл? у меня элементы по два раза не показываются, у меня показываются элементы не из тех разделов

вот дополненная структура

Код
IBLOCK
  Раздел1
    Подраздел1
      Элемент1
      Элемент2
    Подраздел2
  Раздел2
    Подраздел3
      Элемент1
    Подраздел4


мне нужно найти пересечение П1 и П3, в фильтре метода GetList я пишу 'SECTION_ID' => array(П1, П3)
но выводятся и Э1 и Э2, а ведь нужен только Э1, потому что только он есть в обоих разделах
ответил 11 Фев, 15 от Roar (100 баллов)
00 голосов
Цитата
huskat пишет:
мне нужно найти пересечение П1 и П3, в фильтре метода GetList я пишу 'SECTION_ID' => array(П1, П3)
но выводятся и Э1 и Э2, а ведь нужен только Э1, потому что только он есть в обоих разделах

понятно, тогда создайте два массива, первый заполните 'SECTION_ID' => array(П1), второй 'SECTION_ID' => array(П3), затем воспользуйтесь функцией array-intersect
Вот еще полезная страничка http://ru2.php.net/manual/ru/ref.array.php
ответил 23 Май, 15 от potriot45 (120 баллов)

Похожие вопросы

0 голосов
2 ответов
спросил 26 Апр, 14 от NASTIULEA (100 баллов)
0 голосов
2 ответов
0 голосов
5 ответов
спросил 25 Апр, 13 от Haro (200 баллов)
0 голосов
5 ответов
0 голосов
4 ответов
спросил 28 Ноя, 13 от Sturmwind (300 баллов)