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

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

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

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

Другие новости по теме:

Категория: Хаки ----- Просмотров: 2935 ----- Комментариев: 2

Вернуться

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

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

--------------------
  • Akyllo

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