boucles (question de code)

Bonjour,

Je ne programme pas en php, mais j’essaie de construire une boucle en suivant le tutoriel de spip. Je voudrais afficher dans la barre de navigation à droite de ma page d’accueil les titres des sous-rubriques d’une rubrique particulière dont le n° est 52 (les archives d’un magazine en ligne). J’ai beau essayer de comprendre la syntaxe telle qu’elle est expliquée dans le guide du webmestre sur le site de Spip, ça ne marche pas.
J’ai chaque fois un message d’erreur. Je ne parviens qu’à afficher le nom de la sous-rubrique n°52 (Le Plumitif) et à faire un lien hypertexte vers cette sous-rubrique. Il y a trop de règles que je ne connais pas. Par exemple, est-ce que Spip utilise la balise « sous-rubriques » et dans quel cas? Comment est-ce que je pourrais trouver une explication suffisamment approfondie pour me permettre de réaliser moi-même ce code?

Voilà le code que j’écris et qui marche mais avec lequel je n’obtiens pas d’affichage des titres des sous-rubriques!

[(#REM) Archives du Plumitif ]
<B_rubriques>

<:Le_Plumitif:>

    <BOUCLE_rubriques(RUBRIQUES){id_rubrique=52}>

  • #TITRE

Voilà un des codes que j’ai essayé qui ne marche pas… Le message d’erreur indique que id_rubrique=52 ne marche pas…

[(#REM) Archives du Plumitif ]
<B_rubriques>

<:Le_Plumitif:>

    <BOUCLE_sous_rubriques(RUBRIQUES) {id_rubrique=52} {par date} {inverse} {0,5}>

  • #TITRE

Simplement le bon code, bien sûr, ça me dépannerait aussi.

Merci d’avance…

Paul

Site: http://alterdemocratie.11vm-serv.net/

<BOUCLE_rubriques(RUBRIQUES){id_parent=52}> pour avoir les sous rubriques.

Laurent

Paul Willems a écrit :

Salut,

Alors 2 choses : à ma connaissances (à moins d'une subtilité Spip 2
qui m'ait échappé) la balise #URL_SOUS_RUBRIQUE n'existe pas d'où
l'erreur que tu rencontres je pense.

Ensuite :

> Je ne parviens qu'à afficher le
> nom de la sous-rubrique n°52 (Le Plumitif) et à faire un lien
> hypertexte vers cette sous-rubrique.

C'est normal puisqu'en l'état, c'est exactement ce que tu demandes à
ta boucle.

Petite explication que j'espère le plus clair possible :

[(#REM) Archives du Plumitif ]
<B_rubriques>
  <div class="rubriques">
    <h2 class="menu-titre"><:Le_Plumitif:></h2>
    <ul>
      <BOUCLE_rubriques(RUBRIQUES){id_rubrique=52}>
        <li> <a href="#URL_RUBRIQUE">#TITRE</a><br /></li>
      </BOUCLE_rubriques>

    </ul>
</div>
</B_rubriques>

Là ta boucle va parcourir toutes les rubrique du site jusqu'à ce
qu'elle trouve celle(s) correspondant à ton critère (ici
id_rubrique=52) dès qu'elle trouve une correspondance entre sa liste
de résultat et le critère, elle affiche la correspondance. donc là
elle affichera en toute logique ta rubrique 52.

Pour en obtenir les sous-rubriques en revanche, il faut que tu boucles
à nouveau sur le résultat obtenu par ta première boucle. C'est à dire
faire une nouvelle boucle dans la première. On appelle cela des
boucles imbriquées (tu trouveras certainement ce terme employé dans la
doc de spip, pour t'aider dans tes recherches :wink: ).

[(#REM) Archives du Plumitif ]
<B_rubriques>
  <div class="rubriques">
    <h2 class="menu-titre"><:Le_Plumitif:></h2>
    <ul>
      <BOUCLE_rubriques(RUBRIQUES){id_rubrique=52}>
        <li><a href="#URL_RUBRIQUE">#TITRE</a>
        [(#REM) Une fois la boucle d'origine obtenue, on cherche ses
sous-rubriques ]
            <ul>
              <BOUCLE_sous_rubriques(RUBRIQUES) {id_parent} {par date}
{inverse} {0,5}>
                <li> <a href="#URL_RUBRIQUE">#TITRE</a></li>
              </BOUCLE_sous_rubriques>
            </ul>
         </li>
      </BOUCLE_rubriques>
    </ul>
</div>
</B_rubriques>

ici c'est le critère id_parent présent dans ta seconde boucle, qui
fera la différence et indiquera à la seconde boucle dans quel contexte
elle doit bosser. Ainsi, dans la rubrique 52, elle va chercher si elle
trouve d'autres rubriques, elle en ressortira les 5 premières,
classées par date, en ordre inverse et elle les affichera.

Voilà, j'espère que je ne t'ai pas trop embrouillé ? :slight_smile:

Etienne .

On 19 jan, 21:24, Laurent <laurent.pla...@gmail.com> wrote:

<BOUCLE_rubriques(RUBRIQUES){id_parent=52}> pour avoir les sous rubriques.

Laurent

Oui aussi. C'est même encore plus simple. Je n'aurais cependant pas
forcément pensé à numéroter l'id_parent...