Цитата (Flynt @ 2012-01-01, 20:29)
Это для РЦ5 сделал похожие публикации. Возможно не оптимально, но пока как есть.
$tid=$Mainclass->Db->Query('SELECT DISTINCT `tag` FROM `f_news_nt` nt WHERE nt.`news`='.$arr['id'].' ORDER BY `tag`',__file__,__line__);
#print_r($l[$i]['tag']);
if($Mainclass->Db->Num_rows($tid)!=0)
{
$i=0;
$l=array();
while($l[]=$Mainclass->Db->Fetch_assoc($tid))
{
#print_r($l[$i]['tag']);
#die();
if($i==0)
{
$qu=' `nt`.`tag`="'.$l[$i]['tag'].'" AND `n`.`id`!='.$arr['id'].' AND `language`IN(\'\',\''.$Mainclass->lang_name.'\') AND `status`=1 ';
}
$i++;
if(isset($l[$i]['tag']))
{
$qu.=' OR `nt`.`tag`="'.$l[$i]['tag'].'" AND `n`.`id`!='.$arr['id'].' AND `language`IN(\'\',\''.$Mainclass->lang_name.'\') AND `status`=1 ';
}
}
$tnew=$Mainclass->Db->Query('SELECT DISTINCT `nl`.`id`, `n`.`url`, `nl`.`title`, `n`.`main_cat` FROM `f_news_nt` nt INNER JOIN `f_news` n ON `n`.`id` = `nt`.`news` INNER JOIN `f_news_l` nl ON `nl`.`id` = `nt`.`news` WHERE '.$qu.' ORDER BY `n`.`date` DESC LIMIT 5',__file__,__line__);
if($Mainclass->Db->Num_rows($tnew)!=0)
{
$content.='<hr/><div class="pochitatj"><h2>'.$Mainclass->lang['news']['ese'].'</h2><hr/>';
$i=0;
while($g=$Mainclass->Db->Fetch_assoc($tnew))
{
$url=($Mainclass->vars['m_news_long_url'] ? $Mainclass->Categories_l->CategoryUrl($g['main_cat'],'','',false) : '').$Mainclass->Url->ConstructUrl(array(array($g['url'],'nid'=>$g['id'])),!$Mainclass->vars['m_news_long_u</span>rl']);
$content.='<a href="'.$url.'">'.$g['title'].'</a><br/><hr/>';
$i++;
if($i==5)
break;
}
$content.='</div>';
}
}