топ новостей, отдельно для каждой категории

топ новостей, отдельно для каждой категории

Хак выводит в всякой категории топ новинок всего той категории в коей вы находитесь сейчас. Учитываются также подкатегории, если таковы жрать.

топ новостей, отдельно для каждой категории

Хак выводит в всякой категории топ новинок всего той категории в коей вы находитесь сейчас. Учитываются также подкатегории, если таковы жрать.

Для работы хака правим файл /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 ‘[[:<:]](» . $get_cats . «)[[:>:]]'»;
    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’] );

Пользуемся.