Хак выводит в каждой категории топ новостей только той категории в которой вы находитесь сейчас.
Учитываются также подкатегории, если таковы есть
Для работы хака правим файл /engine/modules/topnews.php, находим:
Дальше запрос:
Меняем на:
И в финале осталось подправить запись и чтение с кеша. Итак меняем строчку:
На
И также меняем запись в кеш. Вот эту строчку
Меняем на
Пользуемся.
Источник: 4dle.ru
Для работы хака правим файл /engine/modules/topnews.php, находим:
if ($category_id) {
if ($config['show_sub_cats']) $get_cats = get_sub_cats($category_id);
else $get_cats = $category_id;
if ($config['allow_multi_category']) $where_category = "category regexp '[[::]]'";
else {
if ($config['show_sub_cats']) {
$get_cats = str_replace ( "|", "','", $get_cats );
$where_category = "category IN ('" . $get_cats . "')";
} else $where_category = "category = '{$get_cats}'";
}
}
Дальше запрос:
$db->query( "SELECT id, title, date, alt_name,short_story, category, flag FROM " . PREFIX . "_post WHERE approve='1' AND date >= '$this_month' - INTERVAL 12 MONTH AND date < '$this_month' ORDER BY rating DESC, comm_num DESC, news_read DESC, date DESC LIMIT 0,9" );
Меняем на:
if ($where_category !='') $where_category ='AND '.$where_category;
$db->query( "SELECT id, title, date, alt_name,short_story, category, flag FROM " . PREFIX . "_post WHERE approve='1' {$where_category} AND date >= '$this_month' - INTERVAL 12 MONTH AND date < '$this_month' ORDER BY rating DESC, comm_num DESC, news_read DESC, date DESC LIMIT 0,9" );
И в финале осталось подправить запись и чтение с кеша. Итак меняем строчку:
$topnews = dle_cache( "topnews", $config['skin'] );
На
$topnews = dle_cache( "topnews-".$category_id, $config['skin'] );
И также меняем запись в кеш. Вот эту строчку
create_cache( "topnews", $topnews, $config['skin'] );
Меняем на
create_cache( "topnews-".$category_id, $topnews, $config['skin'] );
Пользуемся.
Источник: 4dle.ru