Актуальный релиз „DataLife Engine 21.0 Final“ buildid 107

подробнее о релизе

Главная страница / DataLife Engine / Плагины для DLE / Отключение комментариев для главных категорий и её подкатегорий

Отключение комментариев для главных категорий и её подкатегорий

30 октября 2026 | 15:50 | Пятница
3
0
[ Рейтинг: 0 / Голосов: 0 ]
Отключение комментариев для главных категорий и её подкатегорий

По заголовку многие могут сказать, что зачем это нужно, когда в DLE есть пункт в настройках категорий "Запретить комментарии для публикаций". НО! Если основная категория не выбрана, а только подкатегория основной категории - запрет в DLE не сработает. Этот плагин решает эту проблему так, что можно на одну основную категорию  поставить запрет на комментарии, и все подкатегории не будут выводить форму для комментирования материала.

Файл engine/modules/show.full.php

Найти:
define( 'NEWS_ID', $row['id'] );
Добавить ниже:
// === ОТКЛЮЧЕНИЕ КОММЕНТАРИЕВ ДЛЯ КАТЕГОРИЙ START ===
function is_category_in_list($cat_id, $target_cats, $cat_info) {
    $check_cat = intval($cat_id);
    while ($check_cat > 0) {
        if (in_array($check_cat, $target_cats)) return true;
        if (isset($cat_info[$check_cat]['parentid'])) {
            $check_cat = $cat_info[$check_cat]['parentid'];
        } else {
            break;
        }
    }
    return false;
}
$disable_comments_cats = array(1); // Укажите ID категорий через запятую
$hide_comments = false;
if ($row['category']) {
    $news_cats = explode(',', $row['category']);
    foreach ($news_cats as $check_cat) {
        if (is_category_in_list(intval($check_cat), $disable_comments_cats, $cat_info)) {
            $hide_comments = true;
            break;
        }
    }
}
// === ОТКЛЮЧЕНИЕ КОММЕНТАРИЕВ ДЛЯ КАТЕГОРИЙ END ===
Найти:
if( !$view_template AND $news_found) {
Заменить на:
if( !$view_template AND $news_found AND !$hide_comments ) {
Найти:
		unset ($tpl->result['comments_not_allowed']);
	}
⚠️⚠️⚠️ Этот код встречатся 4 раза в файле, нужно сделать 1 замену с 4 вхождения в файле!!
Добавить ниже:
} elseif( !$view_template AND $news_found AND $hide_comments ) {
    // Комментарии отключены — ничего не делаем
    // DLE автоматически не будет выводить блок комментариев и форму
}

Скачать плагином:

⚠️ Войдите в аккаунт для доступа к контенту
Комментарии:
ℹ️
 

Модули для создания киносайта и не только на базе DataLife Engine, и многое другое...
Просто блог Евгения Попова, он же - byroot © 2015-2026 | Карта сайта