Технический сбой

Сайт временно работает в режиме только для чтения, идут восстановительные работы. Приносим свои извинения за неудобства.
DLE FAQ » Все вопросы » Общие вопросы по PHP » Запрет на вывод определенных категории в topnews

Запрет на вывод определенных категории в topnews


     topnews, хак    Все вопросы » Общие вопросы по PHP    5186

вопрос
Подскажите, как запретить вывод новостей из определенных категорий в topnews?
Хак для 9.2 не совсем подходит, нужно запретить вывод один раз, и не добавлять дополнительные поля в БД, итд.

Ответа пока нет


5 комментариев

rabidabi
Юзер

rabidabi - -

желательно для версии 9.8

DrajE
Юзер

DrajE - -

Открыть engine/modules/topnews.php и найти:
$db->query( "SELECT id, date, short_story, xfields, title, category, alt_name, flag FROM " . PREFIX . "_post WHERE approve=1 AND date >= '$this_month' - INTERVAL 1 MONTH AND date < '$this_month' ORDER BY rating DESC, comm_num DESC, news_read DESC, date DESC LIMIT 0,10" );

Заменить на:
$db->query( "SELECT id, date, short_story, xfields, title, category, alt_name, flag FROM " . PREFIX . "_post WHERE approve=1 AND date >= '$this_month' - INTERVAL 1 MONTH AND date < '$this_month'  AND category NOT IN (ид_кат) ORDER BY rating DESC, comm_num DESC, news_read DESC, date DESC LIMIT 0,10" );

Где ид_кат - заменить на номер своей исключаемой категории. Если нужно исключить несколько категорий, то перечисляем через их запятую - 1,2,3

Версия DLE: 9.x

dimitri
Юзер

dimitri - -

А для 11.2 как такое сделать?

nowheremany
Эксперт

nowheremany - -

$db->query( "SELECT p.id, p.date, p.short_story, p.xfields, p.title, p.category, p.alt_name FROM " . PREFIX . "_post p LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) WHERE p.approve=1 AND p.date >= '$this_month' - INTERVAL 1 MONTH AND p.date < '$this_month' ORDER BY rating DESC, comm_num DESC, news_read DESC, date DESC LIMIT 0,{$config['top_number']}" );


заменить на

$db->query( "SELECT p.id, p.date, p.short_story, p.xfields, p.title, p.category, p.alt_name FROM " . PREFIX . "_post p LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) WHERE p.approve=1 AND category NOT IN (ид_кат) AND p.date >= '$this_month' - INTERVAL 1 MONTH AND p.date < '$this_month' ORDER BY rating DESC, comm_num DESC, news_read DESC, date DESC LIMIT 0,{$config['top_number']}" );

Благодарность принимаю тут Связь

dimitri
Юзер

dimitri - -

***Комментарий удален***

Похожие вопросы

наверх