Есть такой вот тестовый код:
выдаёт, соответственно:
То есть, товар, привязанный к трём разделам.
Если раскомментировать обе строки с условиями - то элемент не находится, выводится просто false. Якобы элемента в разделе нет, или он неактивный.
Оставляем 'SECTION_ID' => 3938 и закомментируем 'ACTIVE' => 'Y' - элемент находится. Получается, он в разделе-то есть, но неактивный.
Сделаем обратно: закомментируем 'SECTION_ID' => 3938 и оставляем 'ACTIVE' => 'Y'. Элемент снова находится. Получается, он на самом деле-то активный, но в том разделе его нет.
Итого, выборка работает или с хотя бы одним из закомментированных условий - или 'SECTION_ID' => 3938, или 'ACTIVE' => 'Y'. Если указаны оба условия - выборка не работает.
Что это такое и с чем это кушать? В результате в разделе магазина не отображаются товары, привязанные к разделам через множественную привязку.
| Код |
|---|
$e = \CIBlockElement::GetList(
['id' => 'asc'],
[
'IBLOCK_ID' => '45',
//'SECTION_ID' => 3938,
'ID' => 152392,
//'ACTIVE' => 'Y',
],
false,
false,
['IBLOCK_ID', 'ID', 'NAME', 'ACTIVE']
)->Fetch();
dump($e);
$r = \CIBlockElement::GetElementGroups($e['ID'], false, ['ID', 'NAME', 'ACTIVE', 'GLOBAL_ACTIVE']);
while ($e = $r->Fetch()) {
dump($e);
} |
выдаёт, соответственно:
| Код |
|---|
^ array:4 [ "IBLOCK_ID" => "45" "ID" => "152392" "NAME" => "6МК.067 Стол рабочий с экраном из металла (1000*600*750)" "ACTIVE" => "Y" ] ^ array:4 [ "ID" => "1565" "NAME" => "Avance" "ACTIVE" => "Y" "GLOBAL_ACTIVE" => "Y" ] ^ array:4 [ "ID" => "6417" "NAME" => "Столы для персонала" "ACTIVE" => "N" "GLOBAL_ACTIVE" => "N" ] ^ array:4 [ "ID" => "3938" "NAME" => "Столы для персонала" "ACTIVE" => "Y" "GLOBAL_ACTIVE" => "Y" ] |
Если раскомментировать обе строки с условиями - то элемент не находится, выводится просто false. Якобы элемента в разделе нет, или он неактивный.
Оставляем 'SECTION_ID' => 3938 и закомментируем 'ACTIVE' => 'Y' - элемент находится. Получается, он в разделе-то есть, но неактивный.
Сделаем обратно: закомментируем 'SECTION_ID' => 3938 и оставляем 'ACTIVE' => 'Y'. Элемент снова находится. Получается, он на самом деле-то активный, но в том разделе его нет.
Итого, выборка работает или с хотя бы одним из закомментированных условий - или 'SECTION_ID' => 3938, или 'ACTIVE' => 'Y'. Если указаны оба условия - выборка не работает.
Что это такое и с чем это кушать? В результате в разделе магазина не отображаются товары, привязанные к разделам через множественную привязку.