"Число", но требуется выводить фильтр в виде списка значений (их там не сильно много). Есть ли возможность, видимо, штатной кастомизации без "костылей"?
P.S. Основная проблема в сортировке. Т.е., если свойство типа "строка", то можно получить список значений, но сортировать будет по символьному содержанию. Если свойство типа "число", то сортировка - "правильная", но списка не получить. Может я не в ту сторону думаю?
Так там же можно сделать свойство типа "Список", если у вас есть конкретные значения, то просто сделайте список и все и будет вам счастье :) Ну или я чтото не понял :)
Не подходит, т.к. товары добавляются/удаляются скриптами интеграции. Значения могут изменяться. Соответственно, в случае списка, придется регулярно сверяться с действительным списком возможных значений.
Опять же. Список - это набор строковых значений, соответственно, будет проблема в сортировке.
Ну или сделать тип "Число", потом просто получать крайнии значения, и на фронте уже формировать список с каким-либо шагом. Но тут уже надо будет костылить компонент фильтра без вариантов наверное :)
Да, такой вариант я уже предлагал в качестве решения. Отказались, т.к. велика вероятность попадания в список значений, по которым товаров нет.
С сортировкой проще, если по этому свойству и будут просто числа в списке, то в итоге сортироваться будут как числа, а не строки, хотя надо бы проверить конечно, может и не прав :)
Хм, ну тогда на стадии формирования списка проверять каждое значение на наличие товаров, если значений не сильно много. да еще и закешировать, то вроде должно получиться не сильно дорого :)
К сожалению, если ничего не изменилось в механизме БУС - нет. Исторически большее предпочтение отдается строковым значениям. Поэтому весь набор списка будет интерпретирован, как строки.
Может быть, но я бы все же проверил, потому что думаю, что сортировка ведь будет идти на уровне PHP, а там будет приведение типов и если везде числа, то скорее всего будет сортировка по числам, а не строкам. Могу быть конечно не прав, но я бы проверил :)
Наверное, я неправильно объяснил. Меня интересует сортировка выдачи. А она идет на базе запроса в БД. Если там свойство хранится в виде строки (char), то и сортироваться будет соответственно. Согласен, вывод списка значений в фильтре особой проблемы не представляет: преобразовал в число, отсортировал и вывел.
Понял, да я вас не правильно понял :) Ну или протупил и не подумал про запрос в БД. на автомате думал как работа с массивом данных :) Тоже прошу прощение :)
Я там выше вот такой вариант вам предложил, такое не подойдет: "Хм, ну тогда на стадии формирования списка проверять каждое значение на наличие товаров, если значений не сильно много. да еще и закешировать, то вроде должно получиться не сильно дорого :)"
Да, буду думать и предлагать. Спасибо
Незачто :) Если вдруг подкинул путь решения вашей задачи, то рад, а если нет, то хоть подумать заставили :)
Обсуждают сегодня