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

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



Небольшая модификация хак 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 вывод последних комментариев под краткой новостью

short_comm.zip [13,5 Kb] (cкачиваний: 89)
  • 0
Добавить комментарий

Оставить комментарий

    • bowtiesmilelaughingblushsmileyrelaxedsmirk
      heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
      winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
      worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
      expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
      disappointedconfoundedfearfulcold_sweatperseverecrysob
      joyastonishedscreamtired_faceangryragetriumph
      sleepyyummasksunglassesdizzy_faceimpsmiling_imp
      neutral_faceno_mouthinnocent