[spip-dev] Problème d'arborescence de Forums

Salut à tous,

Je forward mon message depuis la liste SPIP vers SPIP-DEV, pensant que
certains pourront répondre à mon problème...

J'ai mis dans le squelette de mon site pour les forums une boucle
récursive censée faire apparaître les messages qui sont dans un thread
avec une autre présentation que les messages normaux, grâce au
paramètre id_parent dans la boucle.

Mais ça marche pas, tous les messages s'affichent de la même manière,
comme des messages normaux.

Je suis sur que mon code va bien c'est le même que dans le squelette
article.html fournit avec SPIP. J'ai même remplacé mon squelette par
le squelette article.html fourni avec spip et même ce squelette là ne
tient pas compte de l'affichage par thread.

Qu'est-ce que j'ai oublié? Un bout de php?

Je vois pas où est le rpoblème, j'ai testé et réécrit le code des
boucles de la page des dizaines de fois, rien à faire. Et même quand
j'avait installé la 1.3b4 ça faisait la même chose. Aujourd'hui je
suis repassé en 1.2.1 mais le problème reste!

Que faire?

Merci de votre réponse.

Petit exemple: http://bohwaz.lautre.net/spip/forum.php3?id_article=20
Le post du haut est censé être dans le fil du deuxième post, mais il
apparaît comme un début de thread.

ça devrait donner ça normalement:

- POST PRINCIPAL (Début de thread)
>-> POST SECONDAIRE (Dans un thread)
>-> POST TERTIAIRE (Dans thread du post secondaire)

Mais ça donne ça:

- POST PRINCIPAL
- POST SECONDAIRE
- POST TERTIAIRE

Voilà, j'espère avoir été clair.

à+

Salut,

Impossible de te répondre sans le code source de ton squelette. Et la page "forum.html" refuse de s'afficher (erreur PHP!).

ARNO*

Bonjour ARNO*,

Impossible de te répondre sans le code source de ton squelette.

Valà, mais c'est le même code que dans le squelette article.html
fournit avec SPIP.

-- Début de code page forum.html

<html><BOUCLE_article(ARTICLES){id_article}{doublons}>

<!-- Ce document provient de #URL_SITE_SPIP/#URL_ARTICLE -->

<head>
<title>Dioxyde.org - Forum : #TITRE</title>
[...]
</head>
<body bgcolor="#FFFFFF" text="#000000" link="#336699" alink="#FF9900" vlink="#339999">
[...]
<!-- Début boucle Forums/Sujets principaux -->
<BOUCLE_forums(FORUMS){id_article}{par date}{inverse}>
<table width="600" border="0" cellspacing="0" cellpadding="5" align="center">
  <tr bgcolor="#EEEEEE">
    <td class="titre2">#TITRE</td>
  </tr>
  <tr>
    <td><span class="auteur">[Par <a href="mailto:(#EMAIL)" class="auteur">][(#NOM)</a>]
      [<a href="(#URL_SITE)" target="_blank" class="rouge">((#NOM_SITE))]</a>
      Le [(#DATE|affdate)].</span></td>
  </tr>
  <tr>
    <td>#TEXTE &nbsp;<span class="titre1"><a href="forum.php3?#PARAMETRES_FORUM">
    <img src="images/forum.gif" width="16" height="15" align="absmiddle" border="0" alt="R&eacute;agir">&nbsp;R&eacute;pondre
      &agrave; ce message</a></span></td>
  </tr>
</table>
<br>
<!-- Début boucle Fils du sujet -->
<BOUCLE_fils(FORUMS){id_parent}{par date}>
<table width="600" border="0" cellspacing="0" cellpadding="5" align="center">
  <tr>
    <td rowspan="2" width="16" valign="top" class="titre2" align="center"><font color="#FFC048">&gt;</font></td>
    <td><span class="titre2">[(#TITRE)]</span><br>
      <span class="auteur">[Par <a href="mailto:(#EMAIL)" class="auteur">[(#NOM)]</a>]
      ([<a href="(#URL_SITE)" target="_blank" class="rouge">[(#NOM_SITE)]</a>]),
      ]Le [(#DATE|affdate)].</span></td>
  </tr>
  <tr>
    <td>#TEXTE &nbsp;<span class="titre1"><a href="forum.php3?#PARAMETRES_FORUM"><img src="images/forum.gif" width="16" height="15" align="absmiddle" border="0" alt="R&eacute;agir">&nbsp;R&eacute;pondre
      &agrave; ce message</a></span></td>
  </tr>
</table>
<br>
<!-- Boucle récursive -->
<BOUCLE_forums_boucle(boucle_fils)></BOUCLE_forums_boucle>
<!-- Fin boucle Fils -->
</BOUCLE_fils>
<!-- Fin boucle Forums -->
</BOUCLE_forums>
<hr>
</B_forums>
<table width="600" align="center" cellpadding="0" cellspacing="0" border="0">
  <tr>
    <td>Pas de r&eacute;actions &agrave; cet article. Soyez le premier &agrave;
      r&eacute;agir en remplissant le formulaire ci-dessous.</td>
  </tr></table>
<!-- Finboucle alternative si pas de messages ici -->
<//B_forums>

-- Fin de la page forum.html

Et la
page "forum.html" refuse de s'afficher (erreur PHP!).

Hein? Tu parle de quoi, chez moi la page suivante s'affiche très bien:
http://bohwaz.lautre.net/spip/forum.php3?id_article=20

Ah, tu parle de la page http://bohwaz.lautre.net/spip/forum.html ???
C'est normal je crois, j'utilise ça:

<BOUCLE_forums_decompte(FORUMS){id_article}{plat}>
        <? $total = #TOTAL_BOUCLE; ?>
        </BOUCLE_forums_decompte>
        Il y a <? echo $total; ?> contribution(s) au forum.
        </B_forums_decompte>

pour compter le nombre de contributions. Pas de passage par forum.php3
== pas de balises SPIP == pas de #TOTAL_BOUCLE == Erreur PHP.

Voilà, à+

Bohwaz, webmestre DIoxyde.org

Ah ben j'ai compris: c'est pas ton squelette d'affichage des forums qui déconne, c'est le nom de tes fichiers: tu utilises "forum.php3" pour à la fois afficher la liste des messages d'un article, et pour le formulaire qui permet de répondre. De ce fait, ton formulaire est _toujours_ calé sur le "id_article", et jamais sur un "id_forum" quand tu veux répondre. Donc tu réponds systématiquement à la racine de l'article, et jamais à un autre message.

Le plus simple serait que tu renommes ton "forum.php3/html" personnalisé (celui qui affiche la liste des messages) sous un autre nom, et que tu réinstalles le "forum.html" d'origine (qui à en modifier l'interface).

ARNO*

Bonjour ARNO*,

Ah ben j'ai compris: c'est pas ton squelette d'affichage des forums
qui déconne, c'est le nom de tes fichiers: tu utilises "forum.php3"
pour à la fois afficher la liste des messages d'un article, et pour
le formulaire qui permet de répondre. De ce fait, ton formulaire est
_toujours_ calé sur le "id_article", et jamais sur un "id_forum"
quand tu veux répondre. Donc tu réponds systématiquement à la racine
de l'article, et jamais à un autre message.

Le plus simple serait que tu renommes ton "forum.php3/html"
personnalisé (celui qui affiche la liste des messages) sous un autre
nom, et que tu réinstalles le "forum.html" d'origine (qui à en
modifier l'interface).

oki, ton explication paraît logique. Hummmm, ah oui, mé que je suis
bête! Merci!

Donc valà la nouvelle structure qui devrait marcher et mise en ligne
bientôt:

- forum.(php3|html)
>-> forum_poster.(php3|html)

Merci du coup de pouce. Au fait quand j'aurais finit mes [bô]
squelettes, je pourrais les envoyer? Parce que ils sont assez
spécifiques quand même. J'essaye de bosser sur la possibilité
d'utilisation avec un autre spip mais c'est balèze. Paske en fait j'ai
fait de sorte que la page sommaire.html n'affiche que les articles du
secteur 2 et j'ai fait des pages pour les autres secteurs. Et mais, si
j'utilise des sommaire-1.html ça marchera tu crois? Ah ben oui,
logiquement. Je vient de répondre à ma question tout seul. Trop fort.

Bon, merci.

à+