7.01.15, 15:07
0 комментарий
  DLE Хаки

Сортировка новостей по последним комментариям в теге custom

Периодически, для создания специфических блоков на сайте под управлением DLE, возникает необходимость сортировать новости по последним комментариям с помощью тега custom. Данный хак расширяет функционал тега custom и добавляет возможность сортировки новостей по последним комментариям. Новости выводятся как посты на форуме, то есть в самом начале те в которых самый свежий комментарий.

Для добавления сортировки по последним комментариям в тег custom необходимо внести доработку в функции custom_print, для этого отредактируем файл:
/engine/modules/functions.php
Найти:

if ($match[1] == "title" ) $news_msort = "ASC";


Добавить ниже:

#****** Custom sort last comments *** start ******#
		if( $match[1] == "comm_last" ) {
			$temp_array = array();
			$sql_comm = $db->query( "SELECT DISTINCT(post_id) AS post_id FROM " . PREFIX . "_comments ORDER BY id DESC LIMIT {$custom_limit}" );
			while( $row_comm = $db->get_row( $sql_comm ) ) {
				$temp_array[] = $row_comm['post_id'];
			}
			if( count($temp_array) ) {
				$where[] = "id IN ('" . implode("','", $temp_array) . "')";
				$news_msort = "";
				$news_sort = "FIND_IN_SET(id, '". implode(",", $temp_array) ."')";
			}
		}
#****** Custom sort last comments *** stop  ******#


В теге custom используем сортировку

order="comm_last"


Особенности: данный хак не поддерживает параметр navigation тега custom.

Автор: MSW
Версия DLE: 9.7 - 10.3

Напишите своё мнение