prowebber.ru - Тут есть все для настоящих вебмастеров

Чтение RSS Мы в твиттере
«    Декабрь 2016    »
ПнВтСрЧтПтСбВс
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 

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

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


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


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

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

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

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

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

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


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

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

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


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

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

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

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


+54
Просмотры: 4448 VIP ProWebber | Комментарии (17)
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

#1bstar

  • 15 марта 2013 23:49
  • Регистрация: 13.05.2011
  • ICQ: 601
  • Комментариев: 8
ПафНутиЙ,[i][/i] спасибо
а на какую версию? или все равно? smile

0

#2ПафНутиЙ

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

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

+2

#3Heon

  • 16 марта 2013 02:28
  • Регистрация: 13.02.2010
  • ICQ: 562788181
  • Комментариев: 108
Где можно демо посмотреть,или хотя бы пример работы?

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

0

#4Artyom91

  • 16 марта 2013 06:26
  • Регистрация: 8.01.2013
  • ICQ: 5605715
  • Комментариев: 59
Цитата: ПафНутиЙ
Ниже 9.6 работать не будет - структура БД другая, да и устаревшие это версии.


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

0

#5ПафНутиЙ

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

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

0

#6Sibiriak

  • 16 марта 2013 09:56
  • Регистрация: 6.05.2012
  • ICQ: 1
  • Комментариев: 164
Спасибо! действительно очень полезный хак!

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

0

#7Fox

  • 16 марта 2013 16:00
  • Регистрация: 4.03.2011
  • ICQ: 716428
  • Комментариев: 165
Celsoft уже взял на заметку biggrin

0

#8ПафНутиЙ

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

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

0

#9Dymatize

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

-2

#10ПафНутиЙ

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

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

+2

#11Dymatize

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

-1

#12ПафНутиЙ

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

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

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

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

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

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

+3

#13DexizeR77

  • 19 марта 2013 12:35
  • Регистрация: 18.03.2013
  • ICQ: --
  • Комментариев: 6
Спасибо хороший хак!

0

#14thefly

  • 19 марта 2013 23:19
  • Регистрация: 7.03.2011
  • ICQ: --
  • Комментариев: 5
очень полезная вещь

0

#15lolipop

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

0

#16ildar58

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

0

#17auto-h

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

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

Max-energy.top - Заработок на электросчетчиках;)

Skripters.info - все для вебмастера. Только эксклюзивный контент.

Создание шаблонов DLE, быстро и недорого! 3wave.com.ua

Бро лей на лучшую партнёрку

Почти бесплатный VDS хостинг!

Поддержи сайт
Скрипты, cms, шаблоны, статьи по раскрутке

Опросы

Как часто вы бываете на сайте?

Захожу 1-2 раза в день
1-2 часа в сутки
Более 2 часов
Почти целый день тут smile

Архив новостей
Ноябрь 2016 (7)
Октябрь 2016 (10)
Сентябрь 2016 (8)
Август 2016 (11)
Июль 2016 (14)
Июнь 2016 (17)

Последние комментарии:

Искать людей

Ваши переписки