» » [Глобальный хак] Индекс сортировки новостей в DLE или как вывести новости в нужном порядке

[Глобальный хак] Индекс сортировки новостей в DLE или как вывести новости в нужном порядке

14.03
66
26 617
[Глобальный хак] Индекс сортировки новостей в DLE или как вывести новости в нужном порядке

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

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

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

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

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

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

Установка детально расписана, не слишком сложная, а запрос в БД можно выполнить в автоматическом режиме непосредственно из инструкции по установке.
После установки у всех новостей будет установлен индекс сортировки равным 500, а в админке, в разделе Настройка системы, на вкладке "Настройки вывода новостей" появится вот такая настройка:

[Глобальный хак] Индекс сортировки новостей в DLE или как вывести новости в нужном порядке

Можно включить или отключить учёт индекса сортировки (пока глобально, по всему сайту) и выбрать направление сортировки.

В форме добавления и радактирования новостей в админке так же появится дополнительное поле индекса сортировки:

[Глобальный хак] Индекс сортировки новостей в DLE или как вывести новости в нужном порядке


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


Жду ваших мнений!

Похожие материалы

Комментарии

ПафНутиЙ
ПафНутиЙ 12 октября 2015 13:50
Теоретически должно, я уже давно не возвращался к этой теме.
vo26
vo26 30 января 2016 10:41
у меня не выводится поле индекса сортировки в редактировании новости. В добавлении выводится. А в редактировании нет. Можете помочь? editnews.php надо показать наверное Вам
DMJO
DMJO 8 июня 2016 08:25
А На 11-й версии работать, что-то не хочет :(
DMJO
DMJO 8 июня 2016 08:27
разобрался, оказывается работает.
qis
qis 4 января 2017 16:20
Можете обновить хак для текущей версии DLE 11.2? Готов заплатить за труды.
qis
qis 5 января 2017 00:04
Отвечу сам себе smile : уже сам разобрался. Немножко поковырялся, и хак заработал на DLE 11.2

Добавить комментарий

Комментировать могут только зарегистрированные пользователи

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.