До сих пор применялась следующая сортировка, жестко зашитая в код:
- папки поднимаются в начало;
- папки сортируются по рейтингу;
- остальные ресурсы ниже папок тоже сортируются по рейтингу.
У этого подхода есть недостаток - иногда принципиально важно отсортировать каким-то иным способом, поэтому теперь добавлена возможность создавать в каталоге собственные сортировки.
Чтобы сортировки были универсальными, они указываются в поле field_config. Т.о. сортировки наследуются по каталогу и могут в нужных местах переопределяться.
Также теперь внесено изменение в результате которого если у ноды каталога или у любого родителя не находится field_config, то поле field_config берется из корня каталога (ноды с синонимом "catalog").
Т.о. можно создать общую сортировку на сайт и в подкаталогах задать какую-то иную сортировку, которая необходима в конкретном месте путем создания field_config.
Теперь собственно о сортировках.
Документация по сортировкам находится здесь: https://elibsystem.ru/docs/admin/fields.html#field-config-sort
Суть в том, что вместо задания одного единственного правила сортировки по одному полю, в ELiS можно задавать массив правил, которые применяются друг за другом и если любое правило при сортировке любых двух элементов срабатывает, то следующие не применяются, а если правило не может два элемента отсортировать, то берется следующее правило и пытается примениться оно. Дальше если второе правило сортировки не может выделить какой элемент будет раньше какого, к этим двум элементам применяется следующее правило сортировки и т.д.
Выглядеть массив правил сортировки может так: ["subj_top","rating", "childrens", "title"].
За счет этого можно сортировать более хитрыми способами, например поднять все папки вверх, а затем отсортировать и папки и ресурсы по рейтингу так, чтобы они не смешивались.
Или поднять папки вверх, отсортировать папки по числу вложенных элементов, а не папки по рейтингу.
Важно, что теперь изменилась сортировка по умолчанию. Если раньше вначале папки поднимались вверх, а затем шла сортировка по рейтингу, то теперь вверху будут ресурсы или папки с наибольшим рейтингом (т.е. ресурсы будут в перемешку с папками, у чего рейтинг больше - то и выше), а рейтинг папок рассчитывается как сумма рейтингов вложенных ресурсов. Такой подход лучше работает в ситуации, когда есть в папке очень популярные отдельные ресурсы.
Т.е. по умолчанию сортировка выражена так: ["rating", "childrens", "title"].
Пример для папки с сериальными изданиями: ["title_desc"] - сортировка по заглавию по убыванию.