Хак Вывод последних комментариев под краткой новостью

Рубрика: Хаки для DLE » Хак DLE 11.2, 11.1, 11.0, 10.6, 10.5, 10.4, 10.3, 10.2, 10.1, 10.0, 9.8, 9.7, 9.6, 9.5, 9.4, 9.3, 9.2, 9.0
Хак Вывод последних комментариев под краткой новостью

Небольшая модификация хак dle если нужно вывести последние комментарии под краткой новостью. Будет полезен порталам, которым важно, чтобы пользователи видели какие новости обсуждаются.

Все версии DLE скрипта.
Количество запросов: увеличится на 1 при просмотре коротких новостей.
«Автор:» RedRat
Источник: admin-club ru
Хак дле Вывод последних комментариев под краткой новостью
Установка:

1. В файле engine/modules/show.short.php
Найти

        $tpl->compile( 'content' );        if( $user_group[$member_id['user_group']]['allow_hide'] ) $tpl->result['content'] = str_ireplace( "[hide]", "", str_ireplace( "[/hide]", "", $tpl->result['content']) );        else $tpl->result['content'] = preg_replace ( "#[hide](.+?)[/hide]#ims", "<div class="quote">" . $lang['news_regus'] . "</div>", $tpl->result['content'] );



Вставить выше:
        //        if($row['comm_num']>0){            $newsIDs[] = $row['id'];            $tpl->set('{comments_here}', '{comments_here:'.$row['id'].'}');            $tpl->set('[comments_here]','');            $tpl->set('[/comments_here]','');        }else{            $tpl->set('{comments_here}', '');            $tpl->set_block ("'[comments_here](.*?)[/comments_here]'si", '');        }                    //

Найти
    $tpl->clear();    $db->free( $sql_result );        if( $do == "" ) $do = $subaction;    if( $do == "" and $year ) $do = "date";    $ban_short = array ();    unset( $ban_short );


Вставить выше

    //    if(count($newsIDs) && $lang['tplCommCount']>0 && $lang['tplCommShortNews']!=''){        if($lang['CommIncludeStandartTemplate']==1){            $lang['tplCommShortNews'] = file_get_contents($tpl->dir . DIRECTORY_SEPARATOR . 'comments.tpl');        }        $queComms = $db->query("SELECT * FROM ".PREFIX."_comments LEFT JOIN ".PREFIX."_users ON ".PREFIX."_comments.user_id = ".PREFIX."_users.user_id WHERE post_id = ".join(' OR post_id = ',$newsIDs)." ORDER by ".PREFIX."_comments.id DESC");        $lastComms = array();        $cIDs = array();        while($row2 = $db->get_row($queComms)){            if($cIDs[$row2['post_id']]<$lang['tplCommCount']){                $lastComms[$row2['post_id']][] = $row2;                $cIDs[$row2['post_id']]++;            }        }        function InsertLastComms($id){            global $lastComms, $lang, $user_group, $config;            if(!isset($lastComms[$id])) return '';            $r = '';            foreach($lastComms[$id] as $v){                $r_ = preg_replace ( "#[aviable=lastcomments](.*?)[/aviable]#ies", '', $lang['tplCommShortNews'] );                $r_ = preg_replace ( "#[not-group=5](.*?)[/not-group]#ies", '', $r_ );                $r_ = preg_replace ( "#[fast](.*?)[/fast]#ies", '', $r_ );                if($v['signature']=='') $r_ = preg_replace ( "#[signature](.*?)[/signature]#ies", '', $r_ );                                $r .= strtr($r_,array(                    '{post_id}' => $v['post_id'],                    '{author}' => $v['author'],                    '{email}' => $v['email'],                    '{author}' => $v['is_register']?'<a href="/user/'.urlencode($v['name']).'/">'.$v['name'].'</a>':$v['autor'],                    '{name}' => $v['name'],                    '{user_id}' => $v['user_id'],                    '{date2}' => $v['date'],                    '{date}' => date('d.m, H:i', strtotime($v['date'])),                                        '{comment}' => $v['text'],                    '{news_title}' => '',                    '{mass-action}' => '',                    '{icq}' => $v['icq']?$v['icq']:'---',                    '{group-name}' => $user_group[$v['user_group']]['group_name'],                    '{news-num}' => $v['news_num'],                    '{comm-num}' => $v['comm_num'],                    '{registration}' => date('d.m.Y', $v['reg_date']),                    '{foto}' => $v['foto']?'uploads/fotos/'.$v['foto']:'/templates/'.$config['skin'].'/images/noavatar.png',                    '{signature}' => $v['signature']                )).$lang['tplCommShorNewsExplorer'];            }            return $r;        }        $tpl->result['content'] = preg_replace ( "#{comments_here:(.*?)}#ies", "InsertLastComms('1')", $tpl->result['content'] );    }    //


2. В файле language/Russian/website.lng
Найти

$lang = array (


Ниже вставить

//'tplCommShortNews' => 'Комментарий: {comment}, от <strong>{name}</strong> ({date})','tplCommShorNewsExplorer' => '<br/>','tplCommCount' => 3,'CommIncludeStandartTemplate' => 1,//tplCommShortNews - строка-шаблон, если вдруг Вы решите не использовать стандартный шаблон comments.tpl.tplCommShorNewsExplorer - вставляется после каждого блока комментариев,tplCommCount - количество последних комментариев,CommIncludeStandartTemplate - 1 использовать стандартный шаблон comments.tpl, 0 не использовать стандартный шаблон.


3. В файле шаблона shortstory.tpl

В любое место вставить

[comments_here]{comments_here}[/comments_here]


Установка ЗАКОНЧЕНА!

Скачать хак dle вывод последних комментариев под краткой новостью
  • 0
Рубрика: DLE хаки » Хак для DLE
Ранее » Каталог по буквенному идентификатору Алфавиту« Далее Изменить сроки ограничения в DLE с дней на часы
Добавление комментарияОставить комментарий