Affichage conditionnel d'une rubrique

Bonsoir,

Besoin d’un coup de main, svp.

Je cherche la meilleure façon d’écrire le code suivant :
Quand je suis à la racine de la rubrique 1 (et uniquement dans celle-ci), je voudrais voir apparaitre également le contenu de la rubrique 2

Rubrique 1

  • sous rubrique 1.1
  • sous rubrique 1.2
  • sous rubrique 1.3
  • etc…
    Ca, c’est ok
    Et aussi
    Rubrique 2
  • sous rubrique 2.1
  • sous rubrique 2.2
  • etc.

Merci de toute aide,

Gaëlle.

Gaelle Faure a écrit :

Je cherche la meilleure façon d'écrire le code suivant :
Quand je suis à la racine de la rubrique 1 (et uniquement dans celle-ci), je
voudrais voir apparaitre également le contenu de la rubrique 2

un test préalable ?

[(#ID_RUBRIQUE|={1}|oui) #SET{where, #ARRAY{0,1,1,2}}]
[(#ID_RUBRIQUE|={1}|non) #SET{where, #ARRAY{0,#ID_RUBRIQUE}}]

<BOUCLE_rub_meres(RUBRIQUES) {id_rubrique IN #GET{where}}
                              {par id_rubrique}>
   ...
   <BOUCLE_rub_filles(RUBRIQUES) {id_parent=#ID_RUBRIQUE}
                                 {par id_rubrique}>
     ...

Bonjour,

Désolée mais je ne comprends pas bien cette proposition de code.
Je voudrai afficher le contenu de la rubrique 363 seulement quand je suis dans la rubrique 368.

Merci de votre aide.

Le 19 novembre 2009 00:00, denisb <denisb@laposte.net> a écrit :

Gaelle Faure a écrit :

Je cherche la meilleure façon d’écrire le code suivant :
Quand je suis à la racine de la rubrique 1 (et uniquement dans celle-ci), je
voudrais voir apparaitre également le contenu de la rubrique 2

un test préalable ?

[(#ID_RUBRIQUE|={1}|oui) #SET{where, #ARRAY{0,1,1,2}}]
[(#ID_RUBRIQUE|={1}|non) #SET{where, #ARRAY{0,#ID_RUBRIQUE}}]

<BOUCLE_rub_meres(RUBRIQUES) {id_rubrique IN #GET{where}}
{par id_rubrique}>
…
<BOUCLE_rub_filles(RUBRIQUES) {id_parent=#ID_RUBRIQUE}
{par id_rubrique}>
…


liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

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

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

Irc : de l’aide à toute heure : http://spip.net/irc

–
Gaëlle.

Gaelle Faure a écrit :

Désolée mais je ne comprends pas bien cette proposition de code.
Je voudrai afficher le contenu de la rubrique 363 seulement quand je suis
dans la rubrique 368.

si l'id_rubrique du contexte où nous nous trouvons est 368
   [(#ID_RUBRIQUE|={368}|oui)

alors, pour délimiter le champ de recherche de notre boucle, nous définissons une variable 'where' à 363
   #SET{where, #ARRAY{0,363}}]

si l'id_rubrique du contexte où nous nous trouvons n'est pas 368
   [(#ID_RUBRIQUE|={368}|non)

alors, pour délimiter le champ de recherche de notre boucle, nous définissons une variable 'where' à 1, 2, 3, 4, 5
   #SET{where, #ARRAY{0,1,1,2,2,3,3,4,4,5}}]

puis nous lançons notre boucle
   <BOUCLE_rub_meres(RUBRIQUES) {id_rubrique IN #GET{where}}>

qui, selon le cas, se traduira par
   <BOUCLE_rub(RUBRIQUES) {id_rubrique IN 363}>
ou par
   <BOUCLE_rub(RUBRIQUES) {id_rubrique IN 1,2,3,4,5}>

denisb a écrit :

Gaelle Faure a écrit :

Désolée mais je ne comprends pas bien cette proposition de code.
Je voudrai afficher le contenu de la rubrique 363 seulement quand je suis
dans la rubrique 368.

si l'id_rubrique du contexte où nous nous trouvons est 368
  [(#ID_RUBRIQUE|={368}|oui)

alors, pour délimiter le champ de recherche de notre boucle, nous définissons une variable 'where' à 363
  #SET{where, #ARRAY{0,363}}]

si l'id_rubrique du contexte où nous nous trouvons n'est pas 368
  [(#ID_RUBRIQUE|={368}|non)

alors, pour délimiter le champ de recherche de notre boucle, nous définissons une variable 'where' à 1, 2, 3, 4, 5
  #SET{where, #ARRAY{0,1,1,2,2,3,3,4,4,5}}]

puis nous lançons notre boucle
  <BOUCLE_rub_meres(RUBRIQUES) {id_rubrique IN #GET{where}}>

qui, selon le cas, se traduira par
  <BOUCLE_rub(RUBRIQUES) {id_rubrique IN 363}>
ou par
  <BOUCLE_rub(RUBRIQUES) {id_rubrique IN 1,2,3,4,5}>

_______________________________________________

je l'ai jamais dit mais j'adore ce type avec ces explications , voilà ces fait; Mais n'allez pas croire que j'aime pas les autres :wink:

de même, c’est clair, net, précis et formateur, ça tire vers le haut le bleu bit que je suis.

assobachant a écrit :

J’arrive un peu après la guerre, mais bon… ça peut toujours servir
Il faut mettre 2 == et ça marche parfaitement bien;
Merci beaucoup :slight_smile:

[(#ID_RUBRIQUE|=={368}|oui)
#SET{where, #ARRAY{0,363}}]
<BOUCLE_rub368(RUBRIQUES) {id_rubrique IN 363}>

Le 1 décembre 2009 18:11, bobof <bof-bof@sfr.fr> a écrit :

de même, c’est clair, net, précis et formateur, ça tire vers le haut le bleu bit que je suis.

assobachant a écrit :

denisb a écrit :

Gaelle Faure a écrit :

Désolée mais je ne comprends pas bien cette proposition de code.
Je voudrai afficher le contenu de la rubrique 363 seulement quand je suis
dans la rubrique 368.

si l’id_rubrique du contexte où nous nous trouvons est 368
[(#ID_RUBRIQUE|={368}|oui)

alors, pour délimiter le champ de recherche de notre boucle, nous définissons une variable ‹ where › à 363
#SET{where, #ARRAY{0,363}}]

si l’id_rubrique du contexte où nous nous trouvons n’est pas 368
[(#ID_RUBRIQUE|={368}|non)

alors, pour délimiter le champ de recherche de notre boucle, nous définissons une variable ‹ where › à 1, 2, 3, 4, 5
#SET{where, #ARRAY{0,1,1,2,2,3,3,4,4,5}}]

puis nous lançons notre boucle
<BOUCLE_rub_meres(RUBRIQUES) {id_rubrique IN #GET{where}}>

qui, selon le cas, se traduira par
<BOUCLE_rub(RUBRIQUES) {id_rubrique IN 363}>
ou par
<BOUCLE_rub(RUBRIQUES) {id_rubrique IN 1,2,3,4,5}>


je l’ai jamais dit mais j’adore ce type avec ces explications , voilà ces fait; Mais n’allez pas croire que j’aime pas les autres :wink:


liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

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

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

Irc : de l’aide à toute heure : http://spip.net/irc

–

Signalez vos spams d’un simple clic. www.signal-spam.fr


liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

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

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

Irc : de l’aide à toute heure : http://spip.net/irc

–
Gaëlle.

Certainement un excès de confiance… désolée :wink:
Je rappelle l’idée :
quand je suis dans la rubrique 368, je veux voir apparaitre le titre de la rubrique 363.
J’ai essayé de placer ce morceau de code de partout mais à chaque fois y’a truc qui va pas:

  • soit le titre de la rub363 s’affiche dans toutes les rubriques
  • soit il s’affiche à plusieurs endroits de la meme page
    Je vois bien que c’est un problème d’emplacement dans une boucle, mais là je sèche…

Si ce n’est pas clair, je peux envoyer tout le code de rubrique.html…

[(#ID_RUBRIQUE|=={368}|oui) #SET{where,#ARRAY{363}}]
<BOUCLE_rub368(RUBRIQUES) {id_rubrique IN 363}>


</BOUCLE_rub368>

<BOUCLE_rubriques (RUBRIQUES) {id_parent} {par num titre}>

#TITRE

…
</BOUCLE_rubriques>

merci

Le 16 décembre 2009 13:50, Gaelle Faure <fauregaelle2010@gmail.com> a écrit :

J’arrive un peu après la guerre, mais bon… ça peut toujours servir
Il faut mettre 2 == et ça marche parfaitement bien;
Merci beaucoup :slight_smile:

[(#ID_RUBRIQUE|=={368}|oui)

#SET{where, #ARRAY{0,363}}]

<BOUCLE_rub368(RUBRIQUES) {id_rubrique IN 363}>

Le 1 décembre 2009 18:11, bobof <bof-bof@sfr.fr> a écrit :

de même, c’est clair, net, précis et formateur, ça tire vers le haut le bleu bit que je suis.

assobachant a écrit :

denisb a écrit :

Gaelle Faure a écrit :

Désolée mais je ne comprends pas bien cette proposition de code.
Je voudrai afficher le contenu de la rubrique 363 seulement quand je suis
dans la rubrique 368.

si l’id_rubrique du contexte où nous nous trouvons est 368
[(#ID_RUBRIQUE|={368}|oui)

alors, pour délimiter le champ de recherche de notre boucle, nous définissons une variable ‹ where › à 363
#SET{where, #ARRAY{0,363}}]

si l’id_rubrique du contexte où nous nous trouvons n’est pas 368
[(#ID_RUBRIQUE|={368}|non)

alors, pour délimiter le champ de recherche de notre boucle, nous définissons une variable ‹ where › à 1, 2, 3, 4, 5
#SET{where, #ARRAY{0,1,1,2,2,3,3,4,4,5}}]

puis nous lançons notre boucle
<BOUCLE_rub_meres(RUBRIQUES) {id_rubrique IN #GET{where}}>

qui, selon le cas, se traduira par
<BOUCLE_rub(RUBRIQUES) {id_rubrique IN 363}>
ou par
<BOUCLE_rub(RUBRIQUES) {id_rubrique IN 1,2,3,4,5}>


je l’ai jamais dit mais j’adore ce type avec ces explications , voilà ces fait; Mais n’allez pas croire que j’aime pas les autres :wink:


liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

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

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

Irc : de l’aide à toute heure : http://spip.net/irc

–

Signalez vos spams d’un simple clic. www.signal-spam.fr


liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

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

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

Irc : de l’aide à toute heure : http://spip.net/irc

–
Gaëlle.

–
Gaëlle.