Можно написать обработчик добавления-редактирования элемента, и там обработку свою писать и поле SORT у элемента по нужному принципу менять. (либо вообще не поле SORT, а отдельное свойство/свойства, и включать сортировку по этому свойству)
Я рассматривал этот вариант, но он плох тем, что придется на каждое желание его переписывать. Сейчас хотят одну линию, завтра другую для конкретного раздела и т.д.
Этот вариант не очень хочется, так как на каждый чих писать новый обработчик заполнения свойств + их дублеж когда начнутся для одного раздела так для другого по другому
tgarl, на каждое-каждое желание понятно, что своя задача и новый код писать.
А тут надо сформулировать одну задачу:
клиент где-то указывает, какой бренд-линия нужно в начало списка, на изменение этого - обработчик, который переписывает у товаров поля для сортировки. Бренд-линия - это у товаров привязка к какому то элементу другого инфоблока? обработчик на изменение элементов этого инфоблока, у кого проставили "ставить товары этого бренда в каталоге наверех", те товары отбираем и ставим выше. Это пример описания задачи, все конечно зависит от того, что там и как у вас организовано
Мне стоит наверное расписать как устроен раздел для которого это нужно.
Есть каталог, элементы которого выгружаются из 1С. Товаров много. Сортировка каталога идет общая своя:
1. распродажный товар или нет,
2. новинка или нет
3. по цене
У товаров есть свойства линия и бренд.
Значений брендов что-то около 300, значений линий Если я не ошибаюсь около 10-15000.(тип свойства список). Периодически в каталоге создаются разделы(спецстраницы, 2-3 в неделю, старые могут как оставаться, так и удалятся) со списком фильтров(в свойстве раздела прописывается). Для таких разделов выводятся товары по фильтру, а не по привязке(такие разделы пустые).
Так вот последние желания появились, что в одном таком разделе требуется чтобы определенная линия шла первой, в другом бренд, в третьем 2 линии, а потом остальные и т.д. До текущего момента хватало сортировки по другим свойствам, чтобы на первые строчки выходило хотя бы 5-10 нужных товаров. Теперь нет.
Поэтому заводить свойства для товаров очень не хочется, это же считай через день, плюс обработчик.
К тому же в каталоге и так не десяток свойств в наличии.
tgarl, У типа список тоже есть сортировка. Она обычно используется для сортировки вывода этого списка в админ панели. Но и товары тоже можно сортировать по этой сортировке.
Вы немного недопонимаете, что мне нужно. В комментарии у Ирины я описал структуру которую имеем и что хотим. Я не могу воспользоваться такой сортировкой по нескольким причинам: это не разовая ситуация, а каждодневная почти, второе, сортировка нужна не на одной странице, а на разных и для каждой своя, третье, сортировка значений свойств нужна в другом месте.
Ну все ограничения лучше в самом вопросе описывать.
В новых версиях можно передать массив идентификаторов, для сортировки по ID. Его же нужно и в фильтр передать. Если не передать или не весь массив передать, то они вконец списка попадают. Если кол-во товаров в таком разделе относительно небольшое, то можно указать весь массив идентификаторов, и товары определенного бренда поставить первыми в этом массиве. 'ID' => [9, 8, 7, 6, 5...]