• Автор:

    Flesha
  • Добавлено:

    авг 20, 2011
  • Комментариев:

    0
  • Просмотров:

    2494

Хак Вывод в каждой категории свой топ новостей

Хак Вывод в каждой категории свой топ новостей

Установка:

Для работы хака правим файл /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'] );
Вернуться
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.