Мы в твиттере Мы в телеграме!

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

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

Данный материал предоставлен сайтом ProWebber.cc исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.
Скачать бесплатно [Глобальный хак] Индекс сортировки новостей в DLE или как вывести новости в нужном порядке.

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

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

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

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

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

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


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

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

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


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

Скачать хак Индекс сортировки для DLE можно только с github т.к. там удобнее поддерживать код и всегда актуальная версия.

Автор хака: ПафНутиЙ

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

Missing update?
Checkout our NULLED Web Community


Дополнительные ссылки на скачивание ТОЛЬКО для зарегистрированных


+53
Просмотры: 7 133 :: Комментарии (17) :: :: Нужна помощь? Задайте вопрос на форуме ::
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

#1bstar

  • 15 марта 2013 23:49
  • Регистрация: 13.05.2011
  • Был(а) онлайн: 20.11.2013
  • Комментариев: 7
  • 0
ПафНутиЙ,[i][/i] спасибо
а на какую версию? или все равно? smile

#2ПафНутиЙ

  • 15 марта 2013 23:51
  • Регистрация: 8.03.2010
  • Был(а) онлайн: 27.01.2021
  • Комментариев: 400
  • +2
bstar,
Да, как то забыл указать.
Проверял и тестировал на 9.8, но и на 9.6 должно работать. Ниже 9.6 работать не будет - структура БД другая, да и устаревшие это версии.

--------------------

#3Heon

  • 16 марта 2013 02:28
  • Регистрация: 13.02.2010
  • Был(а) онлайн: 31.08.2022
  • Комментариев: 109
  • 0
Где можно демо посмотреть,или хотя бы пример работы?

--------------------

#4Artyom91

  • 16 марта 2013 06:26
  • Регистрация: 8.01.2013
  • Был(а) онлайн: 13.12.2017
  • Комментариев: 58
  • 0
Цитата: ПафНутиЙ
Ниже 9.6 работать не будет - структура БД другая, да и устаревшие это версии.


А если поменять запросы в модуле, заработает ) Там несколько полей было удалено только

#5ПафНутиЙ

  • 16 марта 2013 09:38
  • Регистрация: 8.03.2010
  • Был(а) онлайн: 27.01.2021
  • Комментариев: 400
  • 0
Heon,
На первой картинке показан принцип работы, внешний вид новостей не зменится.
Установка выглядит вот так:
Artyom91,
Да, дело только в запросах, но менять нужно весь хак - не вижу в этом смысла.

--------------------

#6Sibiriak

  • 16 марта 2013 09:56
  • Регистрация: 6.05.2012
  • Был(а) онлайн: 10.01.2021
  • Комментариев: 163
  • 0
Спасибо! действительно очень полезный хак!

--------------------

#7Fox

  • 16 марта 2013 16:00
  • Регистрация: 4.03.2011
  • Был(а) онлайн: 7.02.2021
  • Комментариев: 166
  • 0
Celsoft уже взял на заметку biggrin

#8ПафНутиЙ

  • 16 марта 2013 16:03
  • Регистрация: 8.03.2010
  • Был(а) онлайн: 27.01.2021
  • Комментариев: 400
  • 0
Fox,
Не совсем, http://forum.dle-news.ru/index.php?showtopic=62784
Я бы сказал совсем не ))) Думаю просто у него лично в этом нет необходимости. Хотя время покажет.

--------------------

#9Dymatize

  • 16 марта 2013 18:48
  • Регистрация: 9.02.2012
  • Был(а) онлайн: 1.12.2015
  • Комментариев: 14
  • -2
Тупость однако))) В чем проблема дату публикации изменить?
Изменить дату публикации новости на пару минут, дней, недель... и она сменит свой порядок при выводе новостей как вам нужно.
А с этим хаком лишний запрос и нагрузка на базу.

#10ПафНутиЙ

  • 16 марта 2013 19:25
  • Регистрация: 8.03.2010
  • Был(а) онлайн: 27.01.2021
  • Комментариев: 400
  • +2
И менять её каждый раз когда новость надо поднять?
Опять же не всегда возможно изменить дату новости, причин тому вагон.
Никакого лишнего запроса не происходит - смотри внимательнее и всё станет ясно)

--------------------

#11Dymatize

  • 17 марта 2013 15:12
  • Регистрация: 9.02.2012
  • Был(а) онлайн: 1.12.2015
  • Комментариев: 14
  • -1
ПафНутиЙ,
Зачем же)) нажал в нужных новостях "зафиксировать", а уже потом выставить даты. Тогда они останутся на тех местах, на которых нужно их вывести... И уже никуда скатываться не будут.

#12ПафНутиЙ

  • 17 марта 2013 16:28
  • Регистрация: 8.03.2010
  • Был(а) онлайн: 27.01.2021
  • Комментариев: 400
  • +3
Ну вот смотри, у нас есть каталог с объявлениями, и можно, к примеру платно в несколько тарифов поднять объявление.
При этом новости по истечении 30 дней с момента публикации удаляются (предполагается что объявление уже не актуально к этому времени).

Тариф 1 (платный) - фиксированные новости с продлением на месяц.
Тариф 2 (платный) - новости, идущие ниже фиксированных, с продлением на месяц.
Тариф 3 (платный) - новости, идущие ниже фиксированных, но без продления на месяц.
Тариф 4 (free) - простые новости.

Тариф 2 при отсутствии индекса сортировки мы можем получить изменив дату новости.

А теперь вопросы:
1) Как получить Тариф 3 без индекса сортировки?

2) Что будет, если нет индекса сортировки, и чел оплатил поднятие новости через 20 дней с момента публикации по:
a) тарифу 2?
b) тарифу 3?

--------------------

#13DexizeR77

  • 19 марта 2013 12:35
  • Регистрация: 18.03.2013
  • Был(а) онлайн: 8.03.2016
  • Комментариев: 6
  • 0
Спасибо хороший хак!

#14thefly

  • 19 марта 2013 23:19
  • Регистрация: 7.03.2011
  • Был(а) онлайн: 19.05.2013
  • Комментариев: 5
  • 0
очень полезная вещь

#15lolipop

  • 22 марта 2013 17:41
  • Регистрация: 1.03.2012
  • Был(а) онлайн: 22.03.2013
  • Комментариев: 13
  • 0
спасибо паффнутий за модуль! Давай еще=)

#16ildar58

  • 24 марта 2013 20:10
  • Регистрация: 17.11.2012
  • Был(а) онлайн: 20.01.2014
  • Комментариев: 18
  • 0
Хороший модуль, мне понравился!

#17auto-h

  • 12 апреля 2013 16:40
  • Регистрация: 12.04.2013
  • Был(а) онлайн: 13.04.2013
  • Комментариев: 10
  • 0
Спасибо БОЛЬШОЕ! очень нужный полезный хак!

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

Архив новостей
Апрель 2024 (21)
Март 2024 (18)
Февраль 2024 (27)
Январь 2024 (11)
Декабрь 2023 (12)
Ноябрь 2023 (43)
Друзья сайта