Help - Search - Member List - Calendar
Full Version: Liste des forums et sous-forums ?
IPBR-FR > Entraide > Forums dédiés aux mods majeures > IPB SDK
stefroy
J'utilise depuis longtemps le portail qu'avait écrit forxer.
Un des blocs affiche la liste des forums par catégorie.
J'aimerais y afficher aussi les sous-forums.
J'aurais besoin d'un peu d'aide.
Voila la partie de code.
Il utilise get_member_readable_forums().
Cette fonction retourne t'elle aussi les sous-forums ?
Si oui comment sont distingués les forums des sous-forums ?

Merci pour votre aide.

CODE
$forums = $SDK->get_member_readable_forums();
$forumslist = "";
$categories = array();
$categorynames = array();

foreach ($forums as $i) {
 $categories[$i['category']][] = $i['id'];

 if (!$categorynames[$i['category']]) {
  $categorynames[$i['category']] = $i['category_name'];
 }
}

foreach ($categories as $j => $k) {
 $forumslist .= '<span style="font-size: 8pt;"><strong>'.$categorynames[$j].'</strong></span><br /><span style="font-size: 8pt;">';
 foreach ($k as $l) {
  if ($forums[$l]['parent_id'] == "-1") {
   $forumslist .= '<a href="'.$GLOBALS['board_url'].'/index.php?showforum='.$l.'">'.$forums[$l]['name'].'</a><br />';
  }
 }
 $forumslist .= '</span><br />';
}
LLaumgui
Sauf erreur de ma part :
Un forum est un forum avec un forum_id (ou f_id, me souviens plus)
Un sous-forum est un forum (forum_id) ayant un parent_id donc ce trouvant dans un autre forum...
stefroy
donc si je comprends bien
il faudrait donc que je trouve tous les forums donc id_parent est égale à id_forum du forum , j'aurais ainsi les sous forums du forum

Il semblerait aussi que sur un forum, lorsqu'il y a des sous-forum , subwrap soit positionné à 1
Ceci permettra d'optimiser le traitement, car il ne faudrait alors chercher des sous-forums que dans le cas où subwrap sera à 1
On recherchera donc tous les forums ayant un id_parent = id_forum du forum à traiter

il faut donc ajouter le code dans ce test:

QUOTE
if ($forums[$l]['parent_id'] == "-1") {
   $forumslist .= '&nbsp&nbsp - <a href="'.$GLOBALS['board_url'].'/index.php?showforum='.$l.'">'.$forums[$l]['name'].'</a><br />';
  }


ce qui donnerait un truc du genre

QUOTE
if ($forums[$l]['subwrap'] == "1") {

   foreach ($k as $m) {
      if ($forums[$m]['parent_id'] == ($forum[$l]['id'] {
     $forumslist .= '<a href="'.$GLOBALS['board_url'].'/index.php?showforum='.$m.'">'.$forums[$m]['name'].'</a><br />';
      }
   }
}


Est ce que cela semble correcte ?
Je ne suis pas expert en codage php :-(
En gros ce que j'ai écrit
S'il y a des sous-forums pour ce forum
pour tous les forums $m de cette catégorie $k
si l'parent_id du forum trouvé = id du forum à traiter alors on ajoute le forum trouvé à la liste

Merci pour votre aide
Salutations
stefroy
Cela ne semble pas fonctionner
Où mon raisonnement est faux ou bien j'ai mal codé :-(
stefroy
Voila le code actuel qui semble fonctionner aprés quelques petites corections sur le code, et oui, je ne suis pas un pro du php et de sa syntaxe ;-)

QUOTE
         //if ($forums[$l]['subwrap'] == "1") {

          foreach ($k as $m) {
            if ($forums[$m]['parent_id'] == $forums[$l]['id']) {
               $forumslist .= ' sub : <a href="'.$GLOBALS['board_url'].'/index.php?showforum='.$m.'">'.$forums[$m]['name'].'</a><br />';
            }
          }

        //} 

Comme vous pouvez le constater , j'ai retirer le test sur subwrap qui ne fonctionne pas.
Ce test aurait permis d'optimiser le traitement afin de n'effectuer la recherche des sous forums que sur les forums contenant des sous forums
Peut etre que le code n'est pas correcte ou bien subwrap ne fonctionne pas comme je le pense

Avez vous une petite idée ?


En fait suis pa si mauvais que cela , ca marche bien ce petit bout de code ;-)
stefroy
Personne n'a une petite idée sur le fonctionnement de subwrap qui permettrait d'optimiser le traitement ?
Chandon
moi aussi suis intéressé par un code qui afficherai forums et sous forums associés.
J'y arrivais sur le SDK 1.x, mais j'y arrive plus sur le SDK 1.5 sad.gif
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.