Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Шаблоны (TPL) Как из lastcomments убрать комментарии определенной категории новостей?

Как из lastcomments убрать комментарии определенной категории новостей?


     21.11.2015    Шаблоны (TPL)    601

вопрос
И чтобы не было видно уже добавленных ранее комментариев из этой категории, и новые не добавлялись.

Ответил: vitnet


1.0 Открыть файл engine/modules/lastcomments.php

найти
if( $allow_list[0] != "all" ) {

добавить выше
$allow_cat = array();
$black_list = array(1,2,46,47); // <-- игнорируемые категории
    
if( $allow_list[0] != "all" ) {
    foreach($allow_list as $cat_id) {
        if( in_array($cat_id, $black_list) ) continue;
        $allow_cat[] = $cat_id;
    }

    $allow_list = $allow_cat;
} else {
    $join = "LEFT JOIN " . PREFIX . "_post ON " . PREFIX . "_comments.post_id=" . PREFIX . "_post.id ";
    
    if( $config['allow_multi_category'] ) {
        $where[] = PREFIX . "_post.category NOT regexp '[[:<:]](" . implode( '|', $black_list ) . ")[[:>:]]'";
    } else {
        $where[] = PREFIX . "_post.category NOT IN ('" . implode( "','", $black_list ) . "')";
    }
}

далее найти
    $join = "";

заменить на
    $join = $join ? $join : "";

Комментарии пользователей (3)

vitnet
218

2172 | 930

vitnet - 22 ноября 2015 13:38 - Эксперт

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

Dusty
27 | 1

Dusty - 22 ноября 2015 18:45 - Юзер

vitnet Душевное спасибо! наконец-то реальный способ который сработал. способ Сандера не работает.

Sander
1126

1637 | 1204

Sander - 22 ноября 2015 20:01 - Эксперт

Открыть файл engine/modules/lastcomments.php
Найти строку:
$where = array ();

После нее вставить:
(Если новость отмечается в одной категории)
$where[] = PREFIX . "_post.category NOT IN (1,3,4,5,8)";

Если новость отмечается в нескольких категориях
$where[] = PREFIX . "_post.category NOT regexp '[[:<:]](1|3|4|5|8)[[:>:]]'";

где 1,3,4,5,8 - ID отвергнутых категорий.

SanDev.pro - мой блог.

ICQ: 404-037-556
Skype: Sander8804

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

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