HowTo Хак Исправляем тег sort что бы сортировал для каждой категории отдельно

ifelse

Team member
VIP Simple
Verified
Joined
Nov 27, 2015
Messages
930
Reaction score
354
Исправляем тег sort что бы сортировал для каждой категории отдельно (DLE)

27a78l8.jpg



По умолчанию в DLE тег {sort} сортирует новости во всех категориях, если она была изменена пользователем, что есть очень плохо для пользователя. Хак исправит это, и позволит сортировать новости в разных категориях по своему.

Установка хака Тег {sort} для каждой категории своя сортировка для DLE:

1. Открыть /engine/modules/functions.php найти

PHP:
function news_sort($do) {

Ниже вставить
PHP:
global $category_id;

Далее найти
PHP:
$find_sort = "dle_sort_" . $do;

Заменить на:
PHP:
if($do=="cat")
   $find_sort = "dle_sort_" . $do . "_" .  $category_id;
else
   $find_sort = "dle_sort_" . $do;

Далее найти
PHP:
$direction_sort = "dle_direction_" . $do;

Заменить на
PHP:
if($do=="cat")
   $direction_sort = "dle_direction_" . $do . "_" . $category_id;
else
   $direction_sort = "dle_direction_" . $do;

2. Открыть /engine/engine.php найтиif (isset ( $_SESSION['dle_sort_cat'] ))
PHP:
$news_sort_by = $_SESSION['dle_sort_cat'];

Заменить на
PHP:
if (isset ( $_SESSION['dle_sort_cat_' . $category_id] )) $news_sort_by = $_SESSION['dle_sort_cat_' . $category_id];

Далее найти
PHP:
if (isset ( $_SESSION['dle_direction_cat'] )) $news_direction_by = $_SESSION['dle_direction_cat'];

Заменить на
PHP:
if (isset ( $_SESSION['dle_direction_cat_' . $category_id] )) $news_direction_by = $_SESSION['dle_direction_cat_' . $category_id];

Требования к установке:
Версия DLE: 9.6 и выше
Кодировка: UTF-8 или CP1251
Версия php: 5.3 и выше
 
Top