товары, которых количество больше нуля, на складе у данного пользователя". Если бы не склады, то делалось всё очень легко через параметр компонента catalog.section.
Айди склада находится у пользователя в свойстве. Складов много.
1) Если отсеивать в result_modifier.php такие товары, то проблема будет в пагинации, что может прилететь не 12, а 2-3 товара или вообще не прилететь.
2) Если отсеивать в catalog/section.php до вызова компонента, находить все элементы, а потом в переменную фильтр их передавать, то тут во-первых, это будет некешируемое и доп нагрузка, во-вторых, я боюсь, что кеш тогда разрастется очень. Или нет?
3) Наверно лучше всего сам компонент менять? Но тут класс с функциями, которые дергают ещё родительские неоднократно(ElementList, Base, \CBitrixComponent и каждый на тысячи строк), которые дергают методы ядра, что тут надо долго сидеть разбираться, а документации вообще нет. Может кто подскажет, какие тут методы менять надо.
Может есть какое-то даже более оптимальное решение? Если нет, то какое лучше выбрать?
Использовать префильтр, возможно
Обсуждают сегодня