dle.in.ua » Хаки » Вывод в каждой категории свой топ новостей

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

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

Хак выводит в каждой категории топ новостей только той категории в которой вы находитесь сейчас.
Учитываются также подкатегории, если таковы есть
Для работы хака правим файл /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

Теги: хак, топ, категория

  • Группа: Модератор +
  • Icq: --
  • Комментариев: 191
  • Публикаций: 14
  • Сразу оговорюсь - чистой воды копипаст, не тестил...

    Что касаемо комментов, мол есть тег {custom} - это бред. Тег отвечает за вывод новостей, а этот хак за ТОП новостей...

    --------------------
    ^
  • Группа: User
  • Icq: --
  • Комментариев: 6
  • Публикаций: 0
  • Горбушка,
    а как сделать что бы только зафиксированные новости выводились?
    • Akyllo
    • Регистрация: 2.05.2009
    • Репутация: (0|0|0)
    • 16 октября 2011 10:37
    • 2
    ^
    Информация
    Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.