MegaLitr
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору для leroset и всех кому нужен вывод по категориям для добавления в куби функции вывода новостей и статей по категориям добавляем: в /class/tpl/koobi.class.php после строки $this->register_function('lastthreads', 'getLastForumPosts'); Код: $this->register_function('newspokat', 'getNewsPoKat'); $this->register_function('articliespokat', 'getStatiiPoKat'); | и в functions.php перед function krand($min, $max) Код: // ======================================================== // <<-- Novosti blokami po kategoriam -->> // naprimer: {lastthreads KatId='1,2,3,4,5' limit='5' zag='Kakoeto nazvanie'} // ======================================================== function getNewsPoKat($param) { global $db,$THEME,$area; $last_threads = array(); $tmpl = new Koobi("templates/"); $fids = str_replace(",", ' OR newscat = ', $param['KatId']); $sql = $db->Query(" SELECT newsid, title, text FROM " . PREFIX . "_news WHERE newscat =".$fids." AND area_id = ".$area." AND ispublic = 1 order by newsid desc LIMIT " . $param['limit']);//catname = `".$fids."` $i = 0; while ($row = $sql->fetchrow()) { $last_threads[$i]['text'] = $row->text; $last_threads[$i]['title'] = $row->title; $last_threads[$i]['links'] = "index.php?area=".$area."&p=news&newsid=".$row->newsid.""; $i++; } $tmpl->assign('zagolovok', $param['zag']); $tmpl->assign('theme', $THEME); $tmpl->assign('last_news_array', $last_threads); $newspokat = $tmpl->fetch("$THEME/news/newspokat.tpl"); return $newspokat; } // ======================================================== // <<-- Cmambu blokami po kategoriam -->> // naprimer: {lastthreads KatId='1,2,3,4,5' limit='5' zag='Kakoeto nazvanie'} // ======================================================== function getStatiiPoKat($param) { global $db,$THEME,$area; $last_threads = array(); $tmpl = new Koobi("templates/"); $fids = str_replace(",", ' OR articlecat = ', $param['KatId']); $sql = $db->Query(" SELECT id, title, content, inline_screens, type FROM " . PREFIX . "_articles WHERE articlecat =".$fids." AND area = ".$area." AND active = 1 order by id desc LIMIT " . $param['limit']);//catname = `".$fids."` $i = 0; while ($row = $sql->fetchrow()) { $ishot = '0'; if(($row->inline_screens)!=("a:0:{}")) { $ishot = '1'; }else{ $ishot = '0'; } $text = $row->content; $text = inlinescreens($row->inline_screens,$text); $last_threads[$i]['ishot'] = $ishot; $last_threads[$i]['text'] = $text; $last_threads[$i]['title'] = $row->title; $last_threads[$i]['links'] = "index.php?type=".$row->type."&area=".$area."&p=articles&id=".$row->id.""; $i++; } $tmpl->assign('zagolovok', $param['zag']); $tmpl->assign('theme', $THEME); $tmpl->assign('last_statii_array', $last_threads); $articliespokat = $tmpl->fetch("$THEME/articles/articlspokat.tpl"); return $articliespokat; } | после этого в startpage.tpl достаточно добавить в нужном месте Код: { articliespokat KatId='5,6' limit='3' zag='заголовок' } | вот и все. спасибо парням с 5+ Добавлено: чуть не забыл, к вышеназванным дополнениям еще понадобится файл templatename/articles/articlspokat.tpl от 5+ Добавлено: articlspokat.tpl Код: {if $last_statii_array} <table width="100%" border="0" cellpadding="3" cellspacing="1" class="box_inner"> {foreach from=$last_statii_array item=laststatii} <tr> <td> <div class="inforel"><strong>{$laststatii.title}</strong></div> {if $laststatii.ishot != '0'} <div class="intro" align="justify">{$laststatii.text|truncate:600}</div> {else} <div class="intro" align="justify">{$laststatii.text|truncate:200}</div> <div align="right"><a href="{$laststatii.links}">Подробнее</a></div> </div> <div class="news_spacer"></div> {/if} </td> </tr> {/foreach} </table> <br /> {/if} |
|