DataLife Engine > Версия для печати > Индекс сортировки новостей в DLE или как вывести новости в нужном порядке

Вы когда нибудь задумывались над вопросом произвольной сортировки новостей в DLE? Т.е. такой порядок вывода новостей, который не будет зависеть от даты, просмотров, рейтинга или имени новости по умолчанию в DLE не возможен и плясками с использованием fixed и изменением даты новости тут не обойдёшься. Нужен некий параметр, согласно значения которого будут сортироваться новости, в bitrix есть такой параметр и называется он индекс сортировки.

Суть индекса сортировки проста

В БД заводим новое поле, по умолчанию его значение равно 500. Чем больше значение этого индекса отличается от исходного, тем выше или ниже будет стоять новость в списке новостей.Все новости сортируются сначала по значению этого поля, а уже потом по дате добавления (настройка по умолчанию DLE). Конечно же фиксированные новости будут в любом случаи выше, но и там они будут сортироваться сначала по индексу сортировки, а потом по дате.

Что это даст и зачем нужно?

Представьте ситуацию, когда нужно по какой то причине «поднять новости выше остальных», например товары в каталоге, но при этом у вас уже есть несколько зафиксированных новостей выше которых не должна подниматься никакая новость, или рекламная статья, за просмотры которой вам платит рекламодатель, но фиксированные новости имеют другой внешний вид, или у вас кинотеатр и нужно вытянуть несколько фильмов на верх в определённом порядке. Вот в этих случаях и нужен индекс сортировки.

Собственно о самом хаке

Установка детально расписана, не слишком сложная, а запрос в БД можно выполнить в автоматическом режиме непосредственно из инструкции по установке.После установки у всех новостей будет установлен индекс сортировки равным 500, а в админке, в разделе Настройка системы, на вкладке «Настройки вывода новостей» появится вот такая настройка: 1365303122_1363289321_img-2030986 Можно включить или отключить учёт индекса сортировки (пока глобально, по всему сайту) и выбрать направление сортировки.В форме добавления и радактирования новостей в админке так же появится дополнительное поле индекса сортировки: 1365303174_1363287736_2013-03-13_005935-6782902

Это первая версия глобального хака, если будет интересно и востребовано — буду постепенно добавлять возможности более тонкой настройки вывода в категориях и т.п.