[Spip] Condition if sur l'id_parent dans la page rubrique.html

278 views
Skip to first unread message

Cédric BREMAUD

unread,
Aug 12, 2008, 12:15:25 PM8/12/08
to Newsletter SPIP
Autant pour moi j'ai mis par erreur cette question dans un fil qui n'a
rien à voir avec.. Je recommence en ouvrant un nouveau fil

Bonjour la liste,
Je souhaiterai faire une condition sur rubrique.html en fonction du
ID_PARENT de la rubrique .. J'ai bien repéré que #ID_PARENT m'affiche
correctement
ce que je recherche mais je n'arrive pas a faire une condition en spip
du type
si ( #ID_PARENT == 10 )
alors
affiche <a href="ma_page.html">monlien</a>
fin si

d'avance merci de votre aide
Cédric


_______________________________________________
liste spip
sp...@rezo.net - désabonnement : spip...@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip

Documentation de SPIP : http://www.spip.net/

irc://irc.freenode.net/spip ou http://embed.mibbit.com/?server=irc.freenode.net&channel=%23spip

Alfred Sawaya

unread,
Aug 12, 2008, 12:13:29 PM8/12/08
to Cédric BREMAUD, Newsletter SPIP
Un truc du genre :

[(#ENV{ID_PARENT}|={10}|?{'<a href="ma_page.html">monlien</a>'})]

Mais chui pas sur.

Cédric BREMAUD a écrit :


--


--
|
.:: Alfred Sawaya ::.
|
--

Cédric BREMAUD

unread,
Aug 12, 2008, 1:19:21 PM8/12/08
to alf...@reseau2000.net, Newsletter SPIP
Bonjour,
Merci pour ta réponse. Il faut juste corriger le = en le mettant deux
fois comme sur la syntaxe suivante:

[(#ENV{ID_PARENT}|=={10}|?{'<a href="ma_page.html">monlien</a>'})]

Le gros problème est qu'il ne reconnait pas la variable "ID_PARENT" ni
en majuscule ni en minuscule. Je n'ai pu voir cette fonction marcher
qu'en testant avec cette syntaxe:
[(#ENV{id_rubrique}|=={26}|?{'<a href="ma_page.html">monlien</a>'})]
D'ailleurs en mettant id_rubrique en majuscule ça ne fonctionne plus

Ca fonctionne donc pour une rubrique mais je souhaiterai que cela
fonctionne pour tout le groupe de rubrique (afin de ne pas avoir à
retoucher au squelette dès qu'une rubrique fait son apparition) d'où
l'idée de prendre l'id parent!

Or l'id parent est bien à 10 (j'ai pu le tester en faisant afficher ce
résultat: <h1>#ID_PARENT</H1>

Est ce que quelqu'un aurait une idée concernant cette variable?
Peut-être que sous ENV il faut la noter differemment?
D'avance merci de votre aide
Cédric

Alfred Sawaya a écrit :


--
*Cédric BREMAUD - Otor Services*
<www.otor.com>
_Site officiel:_ www.otor.com
_Tel:_ 05 49 55 30 45
_Fax:_ 05 49 55 23 06
_Email:_ c.br...@otor.com

Cédric BREMAUD

unread,
Aug 12, 2008, 2:06:07 PM8/12/08
to Newsletter SPIP
Bon je suis un peu bloqué la..
Je suis tombé sur cet excellent aide mémoire à cette url: www.scribd.com/doc/2869890/Aidememoire-SPIP-Criteres-Balises-Filtres-Boucles
En page 2 ils indiquent toutes les variables utilisable pour les rubriques et on trouve bien un id_parent, seulement quand j'essaie d'afficher son contenu via cette ligne:
[(#ENV{id_parent})] rien ne s'affiche. Même chose pour id_secteur (pourtant quand on fait #ID_SECTEUR je trouve bien la bonne valeur)
En fait je n'ai réussi à n'afficher que id_rubrique..
Quelqu'un aurait une idée?
D'avance merci
Cédric

Cédric BREMAUD a écrit :
--
Cédric BREMAUD - Otor Services

Site officiel: www.otor.com
Tel: 05 49 55 30 45
Fax: 05 49 55 23 06
Email: c.br...@otor.com

Alfred Sawaya

unread,
Aug 12, 2008, 5:41:12 PM8/12/08
to Cédric BREMAUD, Newsletter SPIP
Tu passes id_parent dans l'url ? ou c'est dans une boucle ?

Cédric BREMAUD a écrit :


--


--
|
.:: Alfred Sawaya ::.
|
--

_______________________________________________

Cédric BREMAUD

unread,
Aug 13, 2008, 3:08:31 AM8/13/08
to alf...@reseau2000.org, Newsletter SPIP
Bonjour Alfred,

Ni dans l'url ni dans une boucle... c'est peut-être ça le soucis?
J'ai testé avec une boucle et ca fonctionne nickel avec cette syntaxe:

  <BOUCLE_rubrique(RUBRIQUES){id_rubrique}{id_parent=10}>
     <center><a href="ma_page.html">monlien</a></center>
  </BOUCLE_rubrique>


J'avoues que j'ai encore un peu de mal à comprendre la philosophie de programmation de spip mais c'est parce que je suis encore débutant :-)
En tout cas mon problème est résolu.. Merci de m'avoir mis sur la bonne piste
@+
--
Cédric BREMAUD - Otor Services

Site officiel: www.otor.com
Tel: 05 49 55 30 45
Fax: 05 49 55 23 06
Email: c.br...@otor.com

Olivier GENDRIN

unread,
Aug 13, 2008, 5:40:12 AM8/13/08
to Alfred Sawaya, Cédric BREMAUD, Newsletter SPIP
> #ENV{ID_PARENT}

#ID_PARENT suffira probablement...

Cédric BREMAUD

unread,
Aug 13, 2008, 6:40:39 AM8/13/08
to Olivier GENDRIN, Newsletter SPIP
Autant pour moi cette syntaxe fonctionne aussi..
 [(#ID_PARENT|=={10}|?{'<a href="ma_page.html">monlien</a>'})]
Par contre je ne comprends pas pourquoi #ENV{ID_PARENT} ne fonctionne pas alors que #ID_PARENT fonctionne
En attendant merci, cette syntaxe me semble plus légère qu'une boucle qui doit interroger la bdd non? :-)
@+

Olivier GENDRIN a écrit :
#ENV{ID_PARENT}
    
#ID_PARENT suffira probablement...


  


--
Cédric BREMAUD - Otor Services

Site officiel: www.otor.com
Tel: 05 49 55 30 45
Fax: 05 49 55 23 06
Email: c.br...@otor.com

________________________________________________________________________

Suivez l'actualite du Groupe Otor sur nos sites Internet
http://www.otor.com
http://www.otorsystems.com

Cédric BREMAUD

unread,
Aug 13, 2008, 6:37:56 AM8/13/08
to Olivier GENDRIN, Newsletter SPIP
Olivier GENDRIN a écrit :
#ENV{ID_PARENT}
    
#ID_PARENT suffira probablement...


  
#ID_PARENT aurait suffit juste pour afficher mais pour faire un if ( id_parent == 10) ca ne fonctionne pas

Olivier GENDRIN

unread,
Aug 13, 2008, 7:28:03 AM8/13/08
to c.br...@otor.com, Newsletter SPIP
=======

Autant pour moi cette syntaxe fonctionne aussi..
[(#ID_PARENT|=={10}|?{'<a href="ma_page.html">monlien</a>'})]
Par contre je ne comprends pas pourquoi #ENV{ID_PARENT} ne
fonctionne pas alors que #ID_PARENT fonctionne
/=======

#ENV ne concerne que les variables passées dans l'environnement du
squelette, l'URL dans le cas d'un squelette 'racine', les paramètre du
inclure dans le cas d'un fichier inclus. Alors que #ID_PARENT est pris dans
l'environnement d'une boucle.

Tu peux le voir en faisant :
<BOUCLE_rubriques (RUBRIQUES) {0,10}>
#ID_RUBRIQUE : #ID_PARENT
</BOUCLE_rubriques>

Avec #ENV, tu aurais toujours le même résultat pour #ENV{id_parent}

> En attendant merci, cette syntaxe me semble plus légère
> qu'une boucle qui doit interroger la bdd non? :-)

Non, puisque le résultat est accessible grâce à une boucle.

Pierre Fiches

unread,
Aug 13, 2008, 7:32:27 AM8/13/08
to Newsletter SPIP

Le 12 août 08 à 18:15, Cédric BREMAUD a écrit :

> Autant pour moi j'ai mis par erreur cette question dans un fil qui
> n'a rien à voir avec.. Je recommence en ouvrant un nouveau fil
>
> Bonjour la liste,
> Je souhaiterai faire une condition sur rubrique.html en fonction du
> ID_PARENT de la rubrique .. J'ai bien repéré que #ID_PARENT
> m'affiche correctement
> ce que je recherche mais je n'arrive pas a faire une condition en
> spip du type
> si ( #ID_PARENT == 10 )
> alors
> affiche <a href="ma_page.html">monlien</a>
> fin si


[(#ID_PARENT|=={10}|?{' ',''})


<a href="ma_page.html">monlien</a>

]

Cédric BREMAUD

unread,
Aug 13, 2008, 8:03:25 AM8/13/08
to Olivier GENDRIN, Newsletter SPIP
Olivier GENDRIN a écrit :
=======
	Autant pour moi cette syntaxe fonctionne aussi.. 
	 [(#ID_PARENT|=={10}|?{'<a href="ma_page.html">monlien</a>'})]
	Par contre je ne comprends pas pourquoi #ENV{ID_PARENT} ne
fonctionne pas alors que #ID_PARENT fonctionne
/=======	

#ENV ne concerne que les variables passées dans l'environnement du
squelette, l'URL dans le cas d'un squelette 'racine', les paramètre du
inclure dans le cas d'un fichier inclus. Alors que #ID_PARENT est pris dans
l'environnement d'une boucle.

Tu peux le voir en faisant :
<BOUCLE_rubriques (RUBRIQUES) {0,10}>
#ID_RUBRIQUE : #ID_PARENT
</BOUCLE_rubriques>

Avec #ENV, tu aurais toujours le même résultat pour #ENV{id_parent}

  
En attendant merci, cette syntaxe me semble plus légère
qu'une boucle qui doit interroger la bdd non? :-)
    
Non, puisque le résultat est accessible grâce à une boucle.


  
Donc si j'ai bien compris lorsque tu tapes juste #ID_PARENT ou #ID_RUBRIQUE tu lances en fait une boucle?
car je n'ai pas entouré la ligne que j'ai donné avec les tag <BOUCLE_rubriques> et </BOUCLE_rubriques> pour que ma ligne fonctionne

Olivier GENDRIN

unread,
Aug 13, 2008, 8:49:25 AM8/13/08
to c.br...@otor.com, Newsletter SPIP
=======

Donc si j'ai bien compris lorsque tu tapes juste #ID_PARENT ou
#ID_RUBRIQUE tu lances en fait une boucle?
car je n'ai pas entouré la ligne que j'ai donné avec les tag
<BOUCLE_rubriques> et </BOUCLE_rubriques> pour que ma ligne fonctionne
/=======

Non non.

Créé un fichier squelettes/test.html.

Dedans tu met :

<!-- début -->
Id_rubrique hors boucle : #ID_RUBRIQUE

<BOUCLE_rubrique (RUBRIQUES) {0,1} {id_rubrique ?}>
Id_rubrique hors boucle : #ID_RUBRIQUE
</BOUCLE_rubrique>
<!-- fin -->

Et tu consulte les urls spip.php?page=test puis
spip.php?page=test&id_rubrique=1, et tu nous raconte...

Alfred Sawaya

unread,
Aug 13, 2008, 9:06:24 AM8/13/08
to c.br...@otor.com, Newsletter SPIP
C'est avec plaisir :)

Cédric BREMAUD a écrit :

> *Cédric BREMAUD - Otor Services*
> <www.otor.com>
> _Site officiel:_ www.otor.com

> _Tel:_ 05 49 55 30 45
> _Fax:_ 05 49 55 23 06
> _Email:_ c.br...@otor.com


--


--
|
.:: Alfred Sawaya ::.
|
--

_______________________________________________

Cédric BREMAUD

unread,
Aug 13, 2008, 9:35:22 AM8/13/08
to Olivier GENDRIN, Newsletter SPIP
Olivier GENDRIN a écrit :
=======
	Donc si j'ai bien compris lorsque tu tapes juste #ID_PARENT ou
#ID_RUBRIQUE tu lances en fait une boucle?
	car je n'ai pas entouré la ligne que j'ai donné avec les tag
<BOUCLE_rubriques> et </BOUCLE_rubriques> pour que ma ligne fonctionne
/=======

Non non.

Créé un fichier squelettes/test.html.

Dedans tu met :

<!-- début -->
Id_rubrique hors boucle : #ID_RUBRIQUE

<BOUCLE_rubrique (RUBRIQUES) {0,1} {id_rubrique ?}>
Id_rubrique hors boucle : #ID_RUBRIQUE
</BOUCLE_rubrique>
<!-- fin -->

Et tu consulte les urls spip.php?page=test puis
spip.php?page=test&id_rubrique=1, et tu nous raconte...



  
Je crois avoir compris qu'en passant en argument de l'url
Mais en essayant le code suivant sur la page rubrique.html de spip

<!-- debut -->
Id_rubrique hors boucle: #ID_RUBRIQUE

Id_parent hors boucle:  #ID_PARENT
<!-- fin -->

Puis en appelant la rubrique via l'url suivante: /spip.php?rubrique26 je vois bien l'id_parent de la rubrique s'afficher dans la page et sans boucle
Je suppose que le calcul doit être fait quelque part dans cette page

Olivier GENDRIN

unread,
Aug 13, 2008, 10:01:46 AM8/13/08
to c.br...@otor.com, Newsletter SPIP
> Mais en essayant le code suivant sur la page rubrique.html de spip

Si j'ai pris un fichier qui n'était pas rubrique ni aucun des fichiers
habituels de SPIP, c'était pas pour rien, mais bon...

> Je suppose que le calcul doit être fait quelque part dans cette page

Ben oui, dans la boucle RUBRIQUES qui encadre tout le code...

Cédric BREMAUD

unread,
Aug 13, 2008, 10:36:03 AM8/13/08
to Olivier GENDRIN, Newsletter SPIP
Ok ! là on sent le maitre du code spip. :-)
Maintenant je commence à mieux comprendre.
En tout cas merci pour ton aide et ta patience!
@+
Cédric

Olivier GENDRIN a écrit :
Mais en essayant le code suivant sur la page rubrique.html de spip 
    
Si j'ai pris un fichier qui n'était pas rubrique ni aucun des fichiers
habituels de SPIP, c'était pas pour rien, mais bon...

  
Je suppose que le calcul doit être fait quelque part dans cette page
    
Ben oui, dans la boucle RUBRIQUES qui encadre tout le code...


  


Reply all
Reply to author
Forward
0 new messages