Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы » Как исключить все статьи определенной категории?

Как исключить все статьи определенной категории?


     09.01.2021    Общие вопросы, Общие вопросы по PHP, Хаки    1067

вопрос
Можно ли сделать так, что бы при переходе по ссылке "все публикации пользователя" (название_сайта/user/admin/news/), показывались все публикации пользователя за исключением всех статей определенной категории? Другими словами исключить из списка всех публикаций пользователя все статьи определенной категории? И осуществимо ли такое в /index.php?do=lastnews?
Ps Поиском пользовался, нашел похожие вопросы, но к сожалению все они для старых версий Dle?

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


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

doom45
Юзер

doom45 - 9 января 2021 23:47 -

Через custom можно вроде.

rewenas
Юзер

rewenas - 10 января 2021 17:52 -

Можно. Но это немного не то.

dj-avtosh
PHP-developer

dj-avtosh - 12 января 2021 11:27 -

Наверно так (engine/engine.php):

найти:

$not_allow_cats = explode ( ',', $user_group[$member_id['user_group']]['not_allow_cats'] );


ниже добавить

if ($subaction == 'allnews')
{
   $newNotAllowCats = [1,2,3];
   $not_allow_cats = ! empty ($not_allow_cats) ? array_unique(array_merge($not_allow_cats, $newNotAllowCats)) : $newNotAllowCats;
}


очистить кеш

По заказам пишем сюда: @Rud00y

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.):
В телегу писать сразу задачу и бюджет.

rewenas
Юзер

rewenas - 12 января 2021 21:56 -

Здравствуйте. К сожалению этот способ не работает.

Dark5ider
Эксперт

Dark5ider - 12 января 2021 22:29 -

Вы же поняли, что [1,2,3]; это айди ваших категорий, которые вы не желаете выводить?

rewenas
Юзер

rewenas - 12 января 2021 23:15 -

Здравствуйте. Да конечно. Поменял на нужную id категории и очистил кэш, как и рекомендовал dj-avtosh. К сожалению ничего не изменилось и статьи с данной категории по прежнему выводятся, хотя плагин никаких ошибок не выдаёт.

dj-avtosh
PHP-developer

dj-avtosh - 13 января 2021 01:21 -

а по какой ссылке новости смотрите?

По заказам пишем сюда: @Rud00y

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.):
В телегу писать сразу задачу и бюджет.

rewenas
Юзер

rewenas - 13 января 2021 10:11 -

Смотрю по ссылке (название_сайта/user/login/news/), что выводиться тегом {news} в профиле пользователя

Dark5ider
Эксперт

Dark5ider - 13 января 2021 01:25 -

Чуть поправлю, если позволите:

Найти:

$not_allow_cats = explode ( ',', $user_group[$member_id['user_group']]['not_allow_cats'] );


Вставить ниже:

if ($subaction == 'allnews') {
		   $newNotAllowCats = [1,2,9];
		   $not_allow_cats = (!empty ($not_allow_cats) && ($not_allow_cats[0] <> "")) ? array_unique(array_merge($not_allow_cats, $newNotAllowCats)) : $newNotAllowCats;
		}


В настройках группы пользователей (Гости или Посетители, как необходимо) отключить опцию "Скрывать только полную новость из недоступных разделов"

rewenas
Юзер

rewenas - 13 января 2021 10:12 -

Спасибо, вечером как освобожусь и приеду домой посмотрю.

dj-avtosh
PHP-developer

dj-avtosh - 13 января 2021 15:53 -

всегда забываю про быдлокод в DLE)

По заказам пишем сюда: @Rud00y

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.):
В телегу писать сразу задачу и бюджет.

rewenas
Юзер

rewenas - 13 января 2021 23:12 -

Да вот сейчас все отлично! Огромное спасибо!
А можно ли как то чтобы тег {news-num} выводил количество новостей пользователя без учета этой категории? А то получается нестыковка: количество статей одно, а тегом {news} выводиться другое.

rewenas
Юзер

rewenas - 18 января 2021 00:37 -

Вроде разобрался сам. Если есть ошибки пожалуйста укажите на них.
В engine/modules/profile.php
после
$tpl->set( '{lastdate}', langdate( "j F Y H:i", $row['lastdate'] ) );

вставить
$patch_num = dle_cache('num_count');
if ($patch_num === false) {
$rows = $db->super_query( "SELECT COUNT(*) as count FROM " . PREFIX . "_post WHERE category NOT REGEXP '[[:<:]](1|9)[[:>:]]' AND autor = '$user'");
$patch_num = $rows['count'];
    create_cache('num_count', $patch_num);
}
$tpl->set ('{newscat-user-num}', $patch_num);

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

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

наверх