Forumlar için önceki ve sonraki konu yapma - Seditio Yazılım - Seditio CMS Türkiye
User profile picture

Kaan

Seditio CMS

Forumlar için önceki ve sonraki konu yapma

Seditio sayfalarda bulunan önceki ve sonraki sayfa uygulamasını forumlar için de hazırladım.
Bu uygulama sadece bulunduğunuz kategorideki konular için geçerli sayfalarda olduğu gibi sadece bulunduğunuz kategorideki verileri çeker her kategori için farklıdır.

Bu uygulamada iki tip uygulama metodu vardır.
1. Sadece Önceki ve Sonraki forum için yapabilirsiniz.
2. Forum başlıklarını çekerek yapabilirsiniz.

Hangisi size uygunsa onu yapabilirsiniz.

Aşağıdaki adımları uygulayarak sitenize ekleyebilirsiniz.

Uygulama 1:
system/core/forums/forum.posts.inc.php yi açın alttakini bulun.

if ($ft_mode==1)
    { $t->parse("MAIN.FORUMS_POSTS_TOPICPRIVATE"); }

Altına ekleyin.

$fm = sed_sql_query("SELECT ft_id, ft_sectionid, ft_title FROM $db_forum_topics
WHERE ft_sectionid ='$s' AND ft_id ORDER BY ft_id DESC");
$st = sed_sql_query("SELECT ft_id, ft_sectionid, ft_title FROM $db_forum_topics
WHERE ft_sectionid ='$s'  AND ft_sectionid ORDER BY ft_id='$q' DESC");
$ft = sed_sql_fetchassoc($st);
// Prev&Next forum in cstegory ------------
$ipn = 1;
while ($frm = sed_sql_fetchassoc($fm))
{$prevnext[$ipn] = $frm['ft_id'];
if ($frm['ft_id'] == $ft['ft_id'])
{ $find_ipn = $ipn; } $ipn++; }
$prevnext_count = count($prevnext);
if ( $find_ipn > 1 && $find_ipn < $prevnext_count )
{
$prev_id = $prevnext[$find_ipn-1];
$next_id = $prevnext[$find_ipn+1];
}
elseif ( $find_ipn == 1)
{
$prev_id = $prevnext[$prevnext_count];
$next_id = $prevnext[$find_ipn+1];
}
elseif ( $find_ipn == $prevnext_count )
{
$prev_id = $prevnext[$find_ipn-1];
$next_id = $prevnext[1];
}
$prev_url = sed_url("forums", "m=posts&q=".$prev_id);
$next_url = sed_url("forums", "m=posts&q=".$next_id);

$t->assign("PREV_FORUMPOST", $prev_url);
$t->assign("NEXT_FORUMPOST", $next_url);

Kaydet kapat.

Uygulama 2: bu uygulama ile forum başlıklarını çekiyoruz.

$fm = sed_sql_query("SELECT ft_id, ft_sectionid, ft_title FROM $db_forum_topics
WHERE ft_sectionid ='$s' AND ft_id ORDER BY ft_id DESC");
$tw = sed_sql_query("SELECT ft_id, ft_sectionid, ft_title FROM $db_forum_topics
WHERE ft_sectionid ='$s' AND ft_id ORDER BY ft_id DESC");
$st = sed_sql_query("SELECT ft_id, ft_sectionid, ft_title FROM $db_forum_topics
WHERE ft_sectionid ='$s'  AND ft_sectionid ORDER BY ft_id='$q' DESC");
$ft = sed_sql_fetchassoc($st);

/ Prev&Next forum in cstegory ------------
$ipn = 1;
while ($frm = sed_sql_fetchassoc($fm))
{$prevnext[$ipn] = $frm['ft_id'];
if ($frm['ft_id'] == $ft['ft_id'])
{ $find_ipn = $ipn; } $ipn++; }
$prevnext_count = count($prevnext);
if ( $find_ipn > 1 && $find_ipn < $prevnext_count )
{
$prev_id = $prevnext[$find_ipn-1];
$next_id = $prevnext[$find_ipn+1];
}
elseif ( $find_ipn == 1)
{
$prev_id = $prevnext[$prevnext_count];
$next_id = $prevnext[$find_ipn+1];
}
elseif ( $find_ipn == $prevnext_count )
{
$prev_id = $prevnext[$find_ipn-1];
$next_id = $prevnext[1];
}

/* başlık çekme */

$i = 1;
while ($tt = sed_sql_fetchassoc($tw))
{$prevnext[$i] = $tt['ft_title'];
if ($tt['ft_title'] == $ft['ft_title'])
{ $find = $i; } $i++; }
$prevnext_count = count($prevnext);
if ( $find > 1 && $find < $prevnext_count )
{$prev_t = $prevnext[$find-1];$next_t = $prevnext[$find+1];}
elseif ( $find == 1) {
$prev_t = $prevnext[$prevnext_count];
$next_t = $prevnext[$find+1];}
elseif ( $find == $prevnext_count )
{$prev_t = $prevnext[$find-1];$next_t = $prevnext[1];}

$prev_url = "<a href="".sed_url("forums", "m=posts&q=".$prev_id)."">".$prev_t."</a>";
$next_url = "<a href="".sed_url("forums", "m=posts&q=".$next_id)."">".$next_t."</a>";

Kaydet kapat.

Skins/temaismi/forums.posts.tpl. yi açın alttakini bulun.

<div class="paging">
{FORUMS_POSTS_JUMPBOX}
</div>

Altına ekleyin.

<div class="alignleft">
<span class="colleft">{NEXT_FORUMPOST}</span>
<span class="colright">{PREV_FORUMPOST}</span>
</div>

Not: bu uygulama Seditio 177 ile test edilmiştir ve Seditio 175'e entegre edilmiştir. Sorunsuz çalışmaktadır.

Yorumlar

Henüz yorum yapılmamıştır.