Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Общие вопросы Запрет на вывод комментариев с отдельной категории в /?do=lastcomments

Запрет на вывод комментариев с отдельной категории в /?do=lastcomments


     02.08.2013    Общие вопросы    2974

вопрос
Ребята подскажите пожалуйста можно ли как то запретить вывод комментариев с отдельной категории, чтобы в /?/do=lastcomments не отображались?
Спасибо.

Ответил: Sander


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

ПЕРЕД ней вставить:
$where[] = PREFIX . "_post.category!='2'";


Теперь не будут выводиться комментарии из новостей, которые опубликованы во 2-й категории.

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

shmel1985
2

146 | 63

shmel1985 - 4 августа 2013 00:30 - Юзер

Уважаемый SANDER подскажите пожалуйста а как быть с /?do=modernews что бы Коментарии тоже не выводились пока новость на модерации. в /?DO=LASTCOMMENTS

rashpil
33

232 | 182

rashpil - 4 августа 2013 01:03 - Эксперт

Учите таки php, если хотите, чтобы ваши сайты работали именно так, как вы этого желаете

Присоеденяясь к ответу, посоветую сделать так:


$where[] = PREFIX . "_post.category!='2'";
$where[] = PREFIX ."_post.approve = '1'";

shmel1985
2

146 | 63

shmel1985 - 4 августа 2013 13:48 - Юзер

Вот как я прописал но вывод комментариев/do=lastcomments как был так и остался(

if( $config['allow_cmod'] ) {
    
    $where[] = PREFIX . "_comments.approve=1";
    $where[] = PREFIX . "_post.category!='2'";
    $where[] = PREFIX ."_post.approve = '1'";
}

if( count( $where ) ) {
    $where = implode( " AND ", $where );
    $where = "WHERE " . $where;

} else
    $where = "";

shmel1985
2

146 | 63

shmel1985 - 12 августа 2013 21:47 - Юзер

MySQL Error!
------------------------

The Error returned was:
Unknown column 'dle_post.approve' in 'where clause'

Error Number:
1054
SELECT COUNT(*) as count FROM dle_comments WHERE dle_post.approve = '1'




if( $config['allow_cmod'] ) {

$where[] = PREFIX . "_comments.approve=1";

}
$where[] = PREFIX ."_post.approve = '1'";
if( count( $where ) ) {
    $where = implode( " AND ", $where );
    $where = "WHERE " . $where;

} else
    $where = "";

Что делать?

MAPKOBKA
4

80 | 18

MAPKOBKA - 15 июня 2014 19:21 - Юзер

На DLE 10.1
Ищем в engine/modules/lastcomments.php
 if( $row_count['count'] ) { 

выше вставляем
//@@@ ограничение категорий в do=lastcomments
$stop_category = '1,2,3'; //категории через запятую
if ($stop_category)
    $stop_category = "AND  ".PREFIX ."_post.category NOT IN ({$stop_category})";
//@@@ ограничение do=lastcomments

ищем
 ON " . PREFIX . "_comments.user_id=" . USERPREFIX . "_users.user_id " . $where . "

сразу после вставляем
{$stop_category}


конец =)

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

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