RE: [Spip] Menu

Comme j'expliquais à Jean (en privé), j'ai trouvé une solution combinant
tags spip et PHP.
C'est tout con et ça marche:

<BOUCLE_tmp(RUBRIQUES){id_rubrique}>
<? $tmpValue = #ID_RUBRIQUE; ?>
</BOUCLE_tmp>

<BOUCLE_menu(RUBRIQUES){racine}{par titre}>
<? if ($tmpValue == #ID_RUBRIQUE) { ?>
<a href="#URL_RUBRIQUE">(#TITRE|supprimer_numero)</a><br>
  <BOUCLE_article(ARTICLES){id_rubrique}{par titre}>
&nbsp;&nbsp;&nbsp;<a
href="#URL_ARTICLE">(#TITRE|supprimer_numero)</a><br></a><br>
<? }
  else { ?>
<a href="#URL_RUBRIQUE">(#TITRE|supprimer_numero)</a><br>
  </BOUCLE_article>
<?
  } ?>
</BOUCLE_menu>

-----Original Message-----
From: David Lemonnier [mailto:davidlemonnier@laposte.net]
Sent: Friday, February 01, 2002 3:11 PM
To: jean.fruitet@paysdelaloire.iufm.fr
Cc: Adrien Poirot; spip@rezo.net
Subject: Re: [Spip]

Moi aussi je me suis cassé les dents dessus pour les sous
rubriques... La seul solution que j'ai trouvé c'est :

Rubrique 3 (sélectionnée)
- Article 3.1
- Article 3.2
- Article 3.3
- Article 3.4
Rubrique 1
Rubrique 2
Rubrique 4
Rubrique 5

Ce qui ma fois me plait assez bien finalement....

Bon,
je t'ai envoyé un mél cette nuit en réponse à ta question et

je devais être TRES

fatigué parce que la soution proposée NE MARCHE PAS.

Après divers tests et prises de tête je n'ai pas réussi à

m'en sortir :>((

Le probleme vient de ce qu'il semble qu'on ne puisse

exprimer directement dans

les boucles
imbriquées de SPIP une expression comme :

Afficher toutes les rubriques
DEBUT
  Si Numero-rubrique == rubrique_selectionnee
  ALORS
        DEBUT
               Afficher Titre rubrique
               Afficher TOUS les articles de cette rubrique
        FIN
  SINON
        Afficher Titre Rubrique
FIN

J'ai bien essayé de passer dans le filtre de la

BOUCLE_article imbriquée

l'identifiant de la rubrique courante :

==

<BOUCLE_lesrubriques(RUBRIQUES){tout}>
Rubrique : #ID_RUBRIQUE
<A HREF="#URL_RUBRIQUE"><B>#TITRE</B></A>
<BR>

Variante 1 : <BOUCLE_sesarticles(ARTICLES){id_rubrique}>
Variante 2 : <BOUCLE_sesarticles(ARTICLES){#ID_RUBRIQUE}

Variante 3 : <BOUCLE_sesarticles(ARTICLES){id_rubrique

= = #ID_RUBRIQUE}>

       [(#LOGO_ARTICLE)]
       #TITRE
      <BR>
     </BOUCLE_sesarticles>
</BOUCLE_lesrubriques>

==
mais aucune variante ne fonctionne...

Comme tu le constates c'est la variable locale de la boucle

article qui est

traitée et pas la variable globale
de la rubrique englobante...

Comme je débute complètement en SPIP, j'ignore si c'est un

pb d'incompétence de

ma part (je ne sais pas exprimer ce que je voudrais) ou si

c'est une limitation

du langage de balises.

En tout cas l'absence d'une structure
SI (test)
ALORS
    execution
SINON
    autre_execution

me semble très réductrice.
Je crains que tu ne doives programmer ça directement en PHP,

ce qui est TRES

facile mais manque d'élégance.

A+.
Jean F.

Adrien Poirot a écrit :

> Salut à tous,
>
> N'ayant toujours pas résolu mon problème, je repart à

l'assaut de la mailing

> list:
>
> Je souhaite, dans mon squelette, faire un menu

hiérarchique (vertical):

> - Page Sommaire: affichage de toutes les rubriques

uniquement.

> - Pages Rubrique et Article : Affichage de toutes les

rubriques (à partir de

> racine) ET des articles contenus dans la rubrique en cours

UNIQUEMENT:

>
> Du type:
>
> Rubrique 1
> Rubrique 2
> Rubrique 3 (sélectionnée)
> - Article 3.1
> - Article 3.2
> - Article 3.3
> - Article 3.4
> Rubrique 4
> Rubrique 5
>
> Quelqu'un connaît-il l'empêtrement de boucles pour

réaliser ça?

> Merci.
>
> _______________________________________________
> spip mailing list
> spip@rezo.net
> http://listes.rezo.net/mailman/listinfo/spip

--
Jean FRUITET - Iufm des Pays de la Loire - 4 Rue Launay

Violette - 44000 NANTES

B. 115 - T: - F: - <jean.fruitet@paysdelaloire.iufm.fr>
--

_______________________________________________
spip mailing list
spip@rezo.net
http://listes.rezo.net/mailman/listinfo/spip

A bientôt sur le net!
David (ICQ#:36894497)
N'oubliez pas de visiter mon site:
HTTP://chezsoi.virtualave.net

"Accédez au courrier électronique de La Poste : www.laposte.net ; 3615
LAPOSTENET (0,13 €/mn) ; tél : 08 92 68 13 50 (0,34€/mn)"