Вывод новостей по заданному порядку id в custom

Вывод новостей по заданному порядку id в custom

В DLE при выводе новостей через custom если задать порядок id, то вывод будет построен по порядку id от наименьшего до большего или как-то так, а не как мы задали в параметре. Этот хак исправляет это и теперь новости будут выводится таким порядком, каким мы их зададим в параметре id.

Установка:
1. Открыть engine/modules/functions.php и найти:
$where_id[] = "id IN ('" . implode("','", $temp_array) . "')";

Добавить выше:
$id_main = $temp_array;

Найти далее:
if ( $allowed_sort[$match[1]] ) $news_sort = $allowed_sort[$match[1]];

Добавить ниже:
elseif ($match[1] == "id" ) { $fixed = ""; $news_msort = ""; $news_sort = "FIND_IN_SET(p.id,'".implode(',',$id_main)."')"; }

Готово!

В custom использовать id и order="id", например:
{custom id="3,55,124,2,1" order="id" template="shortstory" limit="5"}
 
Версия DLE: 11.х
Автор: PunPun
Источник
Информация
Посетители, находящиеся в группе Гость, не могут оставлять комментарии к данной публикации.