При переходе на PHP8 перестал работать фильтр подзапроса, как это исправить?
речь о
речь о
Код |
---|
['ID'] = \CIBlockElement::SubQuery |
12.01.2024 14:03:01
При переходе на PHP8 перестал работать фильтр подзапроса, как это исправить?
речь о
|
|||
|
|
12.01.2024 15:14:46
Не надо сверлить зубы через задний проход дрелью от Сваровски
|
|||
|
|
15.01.2024 14:26:26
Не надо сверлить зубы через задний проход дрелью от Сваровски
|
|||
|
|
15.01.2024 15:11:47
Наверное, из-за этого (/bitrix/modules/iblock/classes/general/iblockelement.php:101)
|
|||
|
|
16.01.2024 10:05:44
Понял, спасибо. Действительно на старом сайте нет этой проверки, поэтому и работало.
А с префильтром можешь подсказать, как добавить можно ограничение? |
|
|
|
16.01.2024 12:04:07
|
|||
|
|
17.01.2024 10:49:51
Пытаюсь все еще разобраться с этим подзапросом
Получил такой код
Но вот какое бы я не пытался передать значение '>CATALOG_QUANTITY' => 2, значения все-равно получаю нулевые товары |
|||
|
|
17.01.2024 15:42:28
Я бы сначала сделал GetList с этим фильтром по инфоблоку 27, посмотрел, что он отдает. Если '>CATALOG_QUANTITY' => 2 не понимает, значит не SubQuery виноват, в другом месте нужно копать. Если понимает, то смотреть, как GetList внутри себя обрабатывает результат SubQuery. Или, если мало времени, плюнул бы на это, получил гетлистом массив и отдал бы его в фильтр компонента, если это не сильно сайт затормозит.
|
|
|
|
17.01.2024 17:11:15
сделал такой фильтр и гетлист, все правильно возвращает.
если ноль, то пустой массив, если больше нуля, не пустой. но как только делаю с подзапросом - не работает, возвращает все элементы не зависимо от количества
|
|||||
|
|
17.01.2024 22:09:48
там вроде ключи изменились
Но у меня есть большое подозрение, что все равно SubQuery не будет подцеплять таблицы каталога. Это только подозрение, досконально логику работы GetList тяжело в голову уложить, он обширный, могу ошибаться. Но, похоже, подключать или не подключать модуль торгового каталога решается по ключам основного фильтра, а при обработке SubQuery ключи на вхождение CATALOG не проверяются. |
|
|
|
18.01.2024 10:09:14
Не надо сверлить зубы через задний проход дрелью от Сваровски
|
|||
|
|
18.01.2024 13:26:57
Вроде частично нашел как заставить работать, но не понятно поведение и опять же проблема.
Если убрать из общего фильтра проверку на активность начинает работать, но в каталоге есть деактивированные товары и уже тогда они начинают попадать на вывод. |
||||
|
|
|||