Как корректно решить задачу со свойством и умным фильтром. Надо дать возможность пользователю создать элемент инфоблока, заполнив два поля "значение_От" и "значение_До". И потом в умном фильтре фильтровать элементы через "Число от-до, с ползунком".
На данный момент вижу реализацию так:
После создания пользователем элемента инфоблока, обработчик в init.php разбивает значения "От" и "До" и записывать их в третье свойство, недоступное для редактирования пользователю. Например пользователь вводит "От" = 3; "До" = 8 - обрабатываем и создаем множественное свойство с шагом 1. Получится элемент с заполненным множественным свойством со следующими значениями: 3,4,5,6,7,8. И уже в фильтре используем стандартный ползунок по этому свойству.
У такой реализации есть проблемы.
1. Сейчас используется 2 таких свойства, первое - Возраст, второе - Время. Если в первом элемент с 5 значениями множественного свойства и во втором свойство еще с 7 значениями, то в базе создается 5*7=35 записей этого элемента. Если понадобится добавить еще один диапазон для пользователя, то количество записей растет в геометрической прогрессии
2. Если пользователь при создании заполняет только одно значение, например только "От", то нужно в том же init.php определять верхнюю границу, так как мы создаем значения по всему диапазону с шагом 1, нам нужны также значения "До". Если дать возможность значению свойства Возраст быть максимум до 99, то опять же, количество записей растет в геометрической прогрессии.
На данный момент вижу реализацию так:
После создания пользователем элемента инфоблока, обработчик в init.php разбивает значения "От" и "До" и записывать их в третье свойство, недоступное для редактирования пользователю. Например пользователь вводит "От" = 3; "До" = 8 - обрабатываем и создаем множественное свойство с шагом 1. Получится элемент с заполненным множественным свойством со следующими значениями: 3,4,5,6,7,8. И уже в фильтре используем стандартный ползунок по этому свойству.
У такой реализации есть проблемы.
1. Сейчас используется 2 таких свойства, первое - Возраст, второе - Время. Если в первом элемент с 5 значениями множественного свойства и во втором свойство еще с 7 значениями, то в базе создается 5*7=35 записей этого элемента. Если понадобится добавить еще один диапазон для пользователя, то количество записей растет в геометрической прогрессии
2. Если пользователь при создании заполняет только одно значение, например только "От", то нужно в том же init.php определять верхнюю границу, так как мы создаем значения по всему диапазону с шагом 1, нам нужны также значения "До". Если дать возможность значению свойства Возраст быть максимум до 99, то опять же, количество записей растет в геометрической прогрессии.