Help - Search - Member List - Calendar
Full Version: Regroupement par date de topics [SDK]
IPBR-FR > Entraide > Forums dédiés aux mods majeures > IPB SDK
jona
Bonjour,

Je cherche à regrouper par jours de création des topics venant d'un forum.

De cette manière :

25 11 2005
titre topic 1
titre topic 2
titre topic 3

24 11 2005
titre topic 1
titre topic 2
titre topic 3
titre topic 4

23 11 2005
titre topic 1
titre topic 2
titre topic 3


J'utilise un forum 1.3.1 et un sdk 1.0

Voila le code qui me permet aujourd'hui d'afficher la liste des topics d'un forum classés par date de création mais sans regroupement.

cela donne en résultat :
25 11 2005 - titre topic 1
25 11 2005 - titre topic 2
25 11 2005 - titre topic 3
24 11 2005 - titre topic 1
24 11 2005 - titre topic 2
24 11 2005 - titre topic 3
24 11 2005 - titre topic 4
23 11 2005 - titre topic 1
23 11 2005 - titre topic 2
23 11 2005 - titre topic 3


CODE

<?
require_once "forums/sdk/ipbsdk_class.inc.php"; // Include SDK Functions and Files
$SDK =& new IPBSDK();

if ($topics = $SDK->list_forum_topics ($forumid, array("limit" => $newsamount , "start" => "0", "order" => "desc", "orderby" => "start_date"), TRUE))
{
if (count($topics))
{
 foreach ($topics as $i)
 {
  $date = $SDK->sdk_date($i['start_date'] + ($time_offset * 3600), "d.m");
  $url = $i['title'];
  $url = str_replace('é', 'e', $url);
  $url = str_replace('à', 'a', $url);
  $url = str_replace('è', 'e', $url);
  $url = str_replace('ê', 'e', $url);
  $url = str_replace('ë', 'e', $url);
  $url = str_replace(' ', '-', $url);
  $url = str_replace('?', '-', $url);
  $url = str_replace(':', '-', $url);
  $url = str_replace('[', '-', $url);
  $url = str_replace(']', '-', $url);
  $url = str_replace('/', '-', $url);
  $url = str_replace('*', '-', $url);
  $url = str_replace('+', '-', $url);      
  $url = str_replace('-', '-', $url);  
  $url = str_replace('!', '-', $url);
             
     echo $date;
     echo  '<a href="'.$url.'-'.$i['tid'].'.html" target="_self">'.$i['title'].'</a><br />';
 }
}
}

else
{
echo 'Erreur: '.$SDK->sdk_error();
}

?>


Voila le code qui appele de la page principale celui ci dessus :
CODE
<? $forumid = "191";  $newsamount = "15"; $news_order = "new"; $commenting = "0"; $auto_paging = "0"; $post_limit = "0"; $comment_limit = "0"; include("includes/list_forums_news.php"); ?>


Merci de votre aide.
Prolag
Salut,
C'est pas tres dur
Il suffit que tu met dans une variable le numero de jour
et a chaque nouveau topic tu compare les 2 jours (voir si c'est la meme chose)
si ce n'est pas la meme chose tu affiche la date sinon tu affiche rien wink.gif
jona
QUOTE(Prolag @ samedi 26 novembre 2005 à 14:15)
Salut,
C'est pas tres dur
Il suffit que tu met dans une variable le numero de jour
et a chaque nouveau topic tu compare les 2 jours (voir si c'est la meme chose)
si ce n'est pas la meme chose tu affiche la date sinon tu affiche rien wink.gif
*


J'ai beau tourner le truc dans tous les sens je n'y arrive pas. J'ai fait des truc plus compliquer pourtant mais la...

Si j'affecte à une variable $date1 la date du topic actuel je n'arrive pas à le distingué du suivant donc il m'affiche à chaque fois la date car c'est a chaque fois pareil.
Prolag
CODE

if (count($topics))
{
$the_init_day=0;
foreach ($topics as $i)
{
$day = = $SDK->sdk_date($i['start_date'] + ($time_offset * 3600), "d");
 $date = $SDK->sdk_date($i['start_date'] + ($time_offset * 3600), "d.m");
 $url = $i['title'];
 $url = str_replace('é', 'e', $url);
 $url = str_replace('à', 'a', $url);
 $url = str_replace('è', 'e', $url);
 $url = str_replace('ê', 'e', $url);
 $url = str_replace('ë', 'e', $url);
 $url = str_replace(' ', '-', $url);
 $url = str_replace('?', '-', $url);
 $url = str_replace(':', '-', $url);
 $url = str_replace('[', '-', $url);
 $url = str_replace(']', '-', $url);
 $url = str_replace('/', '-', $url);
 $url = str_replace('*', '-', $url);
 $url = str_replace('+', '-', $url);      
 $url = str_replace('-', '-', $url);  
 $url = str_replace('!', '-', $url);
    if ($day != $the_init_day)
{
$the_init_day = $day;
    echo $date;
}
    echo  '<a href="'.$url.'-'.$i['tid'].'.html" target="_self">'.$i['title'].'</a><br />';
}
}
}

else

Test avec ce bout de code (je ne garantie rien j'ai pas testé ^^)
Fabien
Normal qu'il y ait deux = à la ligne :
CODE
$day = = $SDK->sdk_date($i['start_date'] + ($time_offset * 3600), "d");


tongue.gif
Prolag
QUOTE(Fabien @ dimanche 11 décembre 2005 à 14:10)
Normal qu'il y ait deux = à la ligne :
CODE
$day = = $SDK->sdk_date($i['start_date'] + ($time_offset * 3600), "d");


tongue.gif
*


non laugh.gif laugh.gif
jona
Super ça marche. Il faut bien enlever le deuxième "="

Pour voir le résultat : www.fousdexbox.com

Merci à force de tourner en ronds et de m'aracher els cheveux je devenais chauve...
Prolag
QUOTE(jona @ dimanche 11 décembre 2005 à 17:45)
Super ça marche. Il faut bien enlever le deuxième "="

Pour voir le résultat : www.fousdexbox.com

Merci à force de tourner en ronds et de m'aracher els cheveux je devenais chauve...
*


laugh.gif laugh.gif
Sympatoche la présentation wink.gif
Fantome
J'aime bien le design de ton site.
jona
Merci j'hésite encore lourdement à basculer le site en ipb 2.x le SDK me parait pas stable j'ai peur de tout faire pêter au passge de 1.3 ver 2.x car j'ai Invision Galerie dans le lot.

Y'a bien les API mais au vue de vos conversation sur le sujet c'est pas encore assez puissant.
Prolag
QUOTE(jona @ dimanche 11 décembre 2005 à 18:31)

Y'a bien les API mais au vue de vos conversation sur le sujet c'est pas encore assez puissant.
*


Les API sont la surtout en mode ecriture que lecture !

pour le SDK il faut voir ca avec le pro du SDK (LLaumgui !!!)
Fabien
Personnellement, je trouve qu'après IPB 2.0, le SDK n'est plus utilise. Avec la super-classe ipsclass on peut facilement faire ce que l'on veut smile.gif

PS: Jolie le design du site. Ça me fait penser aux créations/design de xigok.
jona
C'est normal que cela te fasse penser à celle de XIG car il a fait le GIF sur les bases de l'ancienne version. Moi j'ai fait le découpage, l'adaptation, la CSS et la programmation.

Le perso est une amélioration de celui de l'ancienne version. Pour voir une partie de la précédente version du site :
www.fousdexbox.com (ancienne version)

j'attends avec impatience en fait "converge" car j'ai plusieurs thèmes de forum regroupé au sein du même pour avoir qu'une seule inscription. Mais bon c'est comme l'harlécienne c'est annoncé mais ça arrive par petit bout seulement.

Pour la super classe "ipbclass" faut voir tu as un lien Fabien de truc fait avec cette merveille ?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2012 Invision Power Services, Inc.