Главная arrow CMS arrow Koobi 5.x Fixies arrow Вывод новостей на главной по категориям
Вывод новостей на главной по категориям Печать E-mail
Для добавления в куби функции вывода новостей и статей по категориям добавляем:
в /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='заголовок' }

еще понадобится файл templatename/articles/articlspokat.tpl от 5+ вот такого содержания

{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}

 
« Пред.   След. »

Администрация






Забыли пароль?

Кто на сайте?

Сейчас на сайте находятся:
19 гостей

Статистика



Рекомендуем

Экспорт новостей

Реклама