Проблема с комментариями в shortstory

ZL
На сайте с 10.06.2010
Offline
29
727

Здравствуйте!

Поставил модуль "Древовидные комментарии" и теперь не выходи сделать вывод комментариев в shortstory, пишет "Комментариев нет..." хотя комментарии у новости есть. А когда просматриваю новости по определенному тегу то какие-то комментарии появляются, правда не на всех тегах и комменты почему-то одинаковые у всех новостей.

Может кто-то уже сталкивался с такой проблемой, или знает как ее решить?

Движок: DLE 9.5

Версия модуля Древовидные комментарии 1.2

з.ы. Автору мода "Древовидные комментарии" писал, но он последний раз отвечал на вопросы касательно модуля еще в 2011, поэтому думаю ждать ответа бессмысленно.

Реклама на софт-портале (http://softomania.org.ua/reklama.html)
Desesperada
На сайте с 11.10.2010
Offline
77
#1
ZloyLorD:
Движок: DLE 9.5

релиз 02 января 2012

ZloyLorD:
последний раз отвечал на вопросы касательно модуля еще в 2011

не пользовался данным модулем, но смею предложить что версия не та

Создание/наполнение сайтов ICQ 7860919 Принимаю предзаказы на сателлиты/гс в индексе
ZL
На сайте с 10.06.2010
Offline
29
#2
Desesperada:
релиз 02 января 2012
не пользовался данным модулем, но смею предложить что версия не та

Вы наверное не поняли, модуль выводит комментарии только в полной новости, а мне нужно что-бы комментарии были и в краткой новости.

Вот для наглядности и сама проблема:

k2warez.net.ru/humor

k2warez.net.ru/tags/story

U2
На сайте с 12.06.2012
Offline
19
#3

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]

Автоматизируй свои компании в Яндекс-Директ, Adwords, Вконтакте (http://context.apishops.com/102A7BFDEC6F64BBF0B2A41DEC1AC734.htm) Рекламная сеть Вконтакте (http://welcome.socialtank.ru/?lrRef=ThC6r)
ZL
На сайте с 10.06.2010
Offline
29
#4

User24, Та я видел этот хак в сети, но он не выводит форму добавления комментариев и хотелось-бы древовидные комментарии. Модуль "Древовидные комментарии" в show.full.php подключаются с помощью:

if( $allow_comments AND $news_found ) include_once( ENGINE_DIR."/modules/treecomments/comments.news.php" ); 

Но с show.short.php сложнее, там насколько я понял нужно запрос бд делать.

U2
На сайте с 12.06.2012
Offline
19
#5
ZloyLorD:
User24, Та я видел этот хак в сети, но он не выводит форму добавления комментариев и хотелось-бы древовидные комментарии. Модуль "Древовидные комментарии" в show.full.php подключаются с помощью:
if( $allow_comments AND $news_found ) include_once( ENGINE_DIR."/modules/treecomments/comments.news.php" ); 

Но с show.short.php сложнее, там насколько я понял нужно запрос бд делать.

Эти комменты вы никак не подключите к шорт стори

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий