ET logique sur une boucle

Bonjour,

Je souhaiterais créer un boucle qui permette d’afficher tous les articles contenant deux mots clés précis que nous appelons les BRANCHES et TYPOLOGIE.

TYPOLOGIE est donné par une boucle, alors que BRANCHES est transmise par la balise #ENV

J’ai bien réalisé une boucle de type :

<BOUCLES_typologie(MOTS){type=typologie}>

<BOUCLES_mot(MOTS){id_mot}{id_mot=#ENV{id_mot}}>

#TITRE

</BOUCLES_mot>

</BOUCLES_typologie>

Cela fonctionne très bien sauf si on omet de transférer un id_mot par l’environnement.

Donc j’aimerais savoir si quelqu’un a une solution à proposer pour qu’en l’absence de id_mot dans l’environnement, cela m’affiche tous les articles ayant l’id_mot TYPOLOGIE.

Pour voir un peu ce que j’aimerais, vous pouvez aller sur http://www.soc-etudes.cgt.fr/

Merci pour votre aide

Cordialement,

Xavier BUROT

[(#ENV{xxxx,zzzz})] (depuis SPIP 1.8) permet d’accéder à la variable de nom xxxx passée par la requête HTTP. zzzz est une partie optionnelle qui permet de retourner une valeur même si la variable xxxx n’existe pas.

en gros : {id_mot=#ENV{id_mot,typologie}} ou son id si ca passe pas comme ca

Xébiaut a écrit :

Bonjour,

Je souhaiterais créer un boucle qui permette d’afficher tous les articles contenant deux mots clés précis que nous appelons les BRANCHES et TYPOLOGIE.

TYPOLOGIE est donné par une boucle, alors que BRANCHES est transmise par la balise #ENV

J’ai bien réalisé une boucle de type :

<BOUCLES_typologie(MOTS){type=typologie}>

<BOUCLES_mot(MOTS){id_mot}{id_mot=#ENV{id_mot}}>

#TITRE

</BOUCLES_mot>

</BOUCLES_typologie>

Cela fonctionne très bien sauf si on omet de transférer un id_mot par l’environnement.

Donc j’aimerais savoir si quelqu’un a une solution à proposer pour qu’en l’absence de id_mot dans l’environnement, cela m’affiche tous les articles ayant l’id_mot TYPOLOGIE.

Pour voir un peu ce que j’aimerais, vous pouvez aller sur http://www.soc-etudes.cgt.fr/

Merci pour votre aide

Cordialement,

Xavier BUROT

Xébiaut a écrit :

Bonjour,

Je souhaiterais créer un boucle qui permette d’afficher tous les articles contenant deux mots clés précis que nous appelons les BRANCHES et TYPOLOGIE.

TYPOLOGIE est donné par une boucle, alors que BRANCHES est transmise par la balise #ENV

J’ai bien réalisé une boucle de type :

<BOUCLES_typologie(MOTS){type=typologie}>

<BOUCLES_mot(MOTS){id_mot}{id_mot=#ENV{id_mot}}>

#TITRE

</BOUCLES_mot>

</BOUCLES_typologie>

Cela fonctionne très bien sauf si on omet de transférer un id_mot par l’environnement.

Donc j’aimerais savoir si quelqu’un a une solution à proposer pour qu’en l’absence de id_mot dans l’environnement, cela m’affiche tous les articles ayant l’id_mot TYPOLOGIE.

Pour voir un peu ce que j’aimerais, vous pouvez aller sur http://www.soc-etudes.cgt.fr/

Merci pour votre aide

Cordialement,

Xavier BUROT

En passant par les doublons nommés, non ?
Une boucle qui récupère les mots « typologie » avec {doublons A}
Une autre qui récupère les mots « branches » avec {doublons A}
Une autre qui affiche le tout avec {!doublons A}

Xébiaut a écrit :

Bonjour,

Je souhaiterais créer un boucle qui permette d’afficher tous les articles contenant deux mots clés précis que nous appelons les BRANCHES et TYPOLOGIE.

il faut utiliser doublons pour faire des ET :

<BOUCLE_A(ARTICLES){titre_mot=BRANCHES}{doublons x}></BOUCLE_A>
<BOUCLE_B(ARTICLES){titre_mot=BRANCHES}{doublons x}></BOUCLE_B>
<BOUCLE_C(ARTICLES){!doublons x}>
#TITRE
</BOUCLE_B>

@++

Oui, on peut aussi utiliser un tableau avec #ARRAY, parfois mieux que les doublons.

[(#REM) meme theme ]
#SET{mots_choisis, #ARRAY{}}
<BOUCLE_typo(MOTS){type=typologie}>
[(#SET{mots_choisis,#GET{mots_choisis}|push{#ID_MOT}})]
</BOUCLE_typo>

<BOUCLES_mot(MOTS){id_mot IN (#ENV{id_mot}|sinon{(#GET{mots_choisis})})}>

(vérifier les [()] nécéssaires)

Perso je l'utilise comme ca :

[(#REM) meme theme ]
#SET{mots_choisis, #ARRAY{}}
<BOUCLE_memesthemes(MOTS){id_article}{id_groupe=3}>
[(#SET{mots_choisis,#GET{mots_choisis}|push{#ID_MOT}})]
</BOUCLE_memesthemes>

<BOUCLE_memes_themes(ARTICLES) {id_mot IN #GET{mots_choisis}|sinon{0}}
{id_secteur=181} {!par popularite} {!par date} {doublons} {0,3}>

BoOz

Jean-Christophe Villeneuve wrote:

Xébiaut a écrit :

Bonjour,

Je souhaiterais créer un boucle qui permette d'afficher tous les articles contenant deux mots clés précis que nous appelons les BRANCHES et TYPOLOGIE.

TYPOLOGIE est donné par une boucle, alors que BRANCHES est transmise par la balise #ENV

J'ai bien réalisé une boucle de type :

<BOUCLES_typologie(MOTS){type=typologie}>

<BOUCLES_mot(MOTS){id_mot}{id_mot=#ENV{id_mot}}>

#TITRE

</BOUCLES_mot>

</BOUCLES_typologie>

Cela fonctionne très bien sauf si on omet de transférer un id_mot par l'environnement.

Donc j'aimerais savoir si quelqu'un a une solution à proposer pour qu'en l'absence de id_mot dans l'environnement, cela m'affiche tous les articles ayant l'id_mot TYPOLOGIE.

Pour voir un peu ce que j'aimerais, vous pouvez aller sur http://www.soc-etudes.cgt.fr/

Merci pour votre aide

Cordialement,

Xavier BUROT

En passant par les doublons nommés, non ?
Une boucle qui récupère les mots "typologie" avec {doublons A}
Une autre qui récupère les mots "branches" avec {doublons A}
Une autre qui affiche le tout avec {!doublons A}

Bonsoir,

Je reviens avec ma question.

Booz, ta solution est sympa sauf qu'elle correspond à un OU logique et non
un ET comme je le souhaite. Merci tout de même car ton code va me servir
pour une autre partie de mon site.

Jean-Christophe, ta semble être la meilleur mais je bute encore sur un petit
soucis. Si mes boucles affichent bien la liste des articles contenant un mot
clé de branches et un mot clé de typologie, elles n'affichent plus rien si
l'un des mots clés n'est pas connu en l'espèce celui de branches qui est
transféré par #ENV.

Voici ma boucle :

<BOUCLE_branches(ARTICLES){type=Branches}{id_mot}{doublons
theme}></BOUCLE_branches>
<BOUCLES_typologie(MOTS){type=Typologie}{par num titre,
titre}{titre!=Bulletin}>
  <B_lst_par_typologie1>
  <div class="rubriques">
    [<h2 class="menu-titre"><a
href="#URL_MOT">(#TITRE)</a></h2>]
    <ul>
  
<BOUCLE_lst_par_typologie1(ARTICLES){id_mot}{tout_voir}{par
date}{inverse}{0,5}{!doublons theme}>
      [<li>[<strong>(#DATE|affdate_court)</strong> &ndash;
]<a
href="#URL_ARTICLE">(#TITRE|accesgroupes_visualise{#ID_RUBRIQUE})</a></li>]
      </BOUCLE_lst_par_typologie1>
    </ul>
  </div>
  <br class="nettoyeur" />
</B_lst_par_typologie1>
</BOUCLES_typologie>

Donc si quelqu'un a une idée sur ou j'ai m... je suis preneur.

Merci d'avance.

Cordialement,

Xavier BUROT

-----Message d'origine-----
De : BoOz [mailto:booz@rezo.net]
Envoyé : mercredi 10 septembre 2008 11:37
À : Jean-Christophe Villeneuve
Cc : Xébiaut; spip@rezo.net
Objet : Re: ET logique sur une boucle

Oui, on peut aussi utiliser un tableau avec #ARRAY, parfois mieux que
les doublons.

[(#REM) meme theme ]
#SET{mots_choisis, #ARRAY{}}
<BOUCLE_typo(MOTS){type=typologie}>
[(#SET{mots_choisis,#GET{mots_choisis}|push{#ID_MOT}})]
</BOUCLE_typo>

<BOUCLES_mot(MOTS){id_mot IN (#ENV{id_mot}|sinon{(#GET{mots_choisis})})}>

(vérifier les [()] nécéssaires)

Perso je l'utilise comme ca :

[(#REM) meme theme ]
#SET{mots_choisis, #ARRAY{}}
<BOUCLE_memesthemes(MOTS){id_article}{id_groupe=3}>
[(#SET{mots_choisis,#GET{mots_choisis}|push{#ID_MOT}})]
</BOUCLE_memesthemes>

<BOUCLE_memes_themes(ARTICLES) {id_mot IN #GET{mots_choisis}|sinon{0}}
{id_secteur=181} {!par popularite} {!par date} {doublons} {0,3}>

BoOz

Jean-Christophe Villeneuve wrote:

Xébiaut a écrit :

Bonjour,

Je souhaiterais créer un boucle qui permette d'afficher tous les
articles contenant deux mots clés précis que nous appelons les
BRANCHES et TYPOLOGIE.

TYPOLOGIE est donné par une boucle, alors que BRANCHES est transmise
par la balise #ENV

J'ai bien réalisé une boucle de type :

<BOUCLES_typologie(MOTS){type=typologie}>

<BOUCLES_mot(MOTS){id_mot}{id_mot=#ENV{id_mot}}>

#TITRE

</BOUCLES_mot>

</BOUCLES_typologie>

Cela fonctionne très bien sauf si on omet de transférer un id_mot par
l'environnement.

Donc j'aimerais savoir si quelqu'un a une solution à proposer pour
qu'en l'absence de id_mot dans l'environnement, cela m'affiche tous
les articles ayant l'id_mot TYPOLOGIE.

Pour voir un peu ce que j'aimerais, vous pouvez aller sur
http://www.soc-etudes.cgt.fr/

Merci pour votre aide

Cordialement,

Xavier BUROT

En passant par les doublons nommés, non ?
Une boucle qui récupère les mots "typologie" avec {doublons A}
Une autre qui récupère les mots "branches" avec {doublons A}
Une autre qui affiche le tout avec {!doublons A}

J'ai résolu mon soucis avec un simple "?" et en modifiant ma première boucle
ainsi :
<BOUCLE_branches(ARTICLES){type=Branches}{id_mot ?}{doublons
theme}></BOUCLE_branches>

-----Message d'origine-----
De : spip-bounces@rezo.net [mailto:spip-bounces@rezo.net] De la part de
Xébiaut
Envoyé : vendredi 12 septembre 2008 19:45
À : 'BoOz'; 'Jean-Christophe Villeneuve'
Cc : spip@rezo.net
Objet : Re: [Spip] ET logique sur une boucle

Bonsoir,

Je reviens avec ma question.

Booz, ta solution est sympa sauf qu'elle correspond à un OU logique et non
un ET comme je le souhaite. Merci tout de même car ton code va me servir
pour une autre partie de mon site.

Jean-Christophe, ta semble être la meilleur mais je bute encore sur un petit
soucis. Si mes boucles affichent bien la liste des articles contenant un mot
clé de branches et un mot clé de typologie, elles n'affichent plus rien si
l'un des mots clés n'est pas connu en l'espèce celui de branches qui est
transféré par #ENV.

Voici ma boucle :

<BOUCLE_branches(ARTICLES){type=Branches}{id_mot}{doublons
theme}></BOUCLE_branches>
<BOUCLES_typologie(MOTS){type=Typologie}{par num titre,
titre}{titre!=Bulletin}>
  <B_lst_par_typologie1>
  <div class="rubriques">
    [<h2 class="menu-titre"><a
href="#URL_MOT">(#TITRE)</a></h2>]
    <ul>
  
<BOUCLE_lst_par_typologie1(ARTICLES){id_mot}{tout_voir}{par
date}{inverse}{0,5}{!doublons theme}>
      [<li>[<strong>(#DATE|affdate_court)</strong> &ndash;
]<a
href="#URL_ARTICLE">(#TITRE|accesgroupes_visualise{#ID_RUBRIQUE})</a></li>]
      </BOUCLE_lst_par_typologie1>
    </ul>
  </div>
  <br class="nettoyeur" />
</B_lst_par_typologie1>
</BOUCLES_typologie>

Donc si quelqu'un a une idée sur ou j'ai m... je suis preneur.

Merci d'avance.

Cordialement,

Xavier BUROT

-----Message d'origine-----
De : BoOz [mailto:booz@rezo.net]
Envoyé : mercredi 10 septembre 2008 11:37
À : Jean-Christophe Villeneuve
Cc : Xébiaut; spip@rezo.net
Objet : Re: ET logique sur une boucle

Oui, on peut aussi utiliser un tableau avec #ARRAY, parfois mieux que
les doublons.

[(#REM) meme theme ]
#SET{mots_choisis, #ARRAY{}}
<BOUCLE_typo(MOTS){type=typologie}>
[(#SET{mots_choisis,#GET{mots_choisis}|push{#ID_MOT}})]
</BOUCLE_typo>

<BOUCLES_mot(MOTS){id_mot IN (#ENV{id_mot}|sinon{(#GET{mots_choisis})})}>

(vérifier les [()] nécéssaires)

Perso je l'utilise comme ca :

[(#REM) meme theme ]
#SET{mots_choisis, #ARRAY{}}
<BOUCLE_memesthemes(MOTS){id_article}{id_groupe=3}>
[(#SET{mots_choisis,#GET{mots_choisis}|push{#ID_MOT}})]
</BOUCLE_memesthemes>

<BOUCLE_memes_themes(ARTICLES) {id_mot IN #GET{mots_choisis}|sinon{0}}
{id_secteur=181} {!par popularite} {!par date} {doublons} {0,3}>

BoOz

Jean-Christophe Villeneuve wrote:

Xébiaut a écrit :

Bonjour,

Je souhaiterais créer un boucle qui permette d'afficher tous les
articles contenant deux mots clés précis que nous appelons les
BRANCHES et TYPOLOGIE.

TYPOLOGIE est donné par une boucle, alors que BRANCHES est transmise
par la balise #ENV

J'ai bien réalisé une boucle de type :

<BOUCLES_typologie(MOTS){type=typologie}>

<BOUCLES_mot(MOTS){id_mot}{id_mot=#ENV{id_mot}}>

#TITRE

</BOUCLES_mot>

</BOUCLES_typologie>

Cela fonctionne très bien sauf si on omet de transférer un id_mot par
l'environnement.

Donc j'aimerais savoir si quelqu'un a une solution à proposer pour
qu'en l'absence de id_mot dans l'environnement, cela m'affiche tous
les articles ayant l'id_mot TYPOLOGIE.

Pour voir un peu ce que j'aimerais, vous pouvez aller sur
http://www.soc-etudes.cgt.fr/

Merci pour votre aide

Cordialement,

Xavier BUROT

En passant par les doublons nommés, non ?
Une boucle qui récupère les mots "typologie" avec {doublons A}
Une autre qui récupère les mots "branches" avec {doublons A}
Une autre qui affiche le tout avec {!doublons A}

_______________________________________________
liste spip
spip@rezo.net - désabonnement : spip-off@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

Xébiaut a écrit :

J'ai résolu mon soucis avec un simple "?" et en modifiant ma première boucle
ainsi :
<BOUCLE_branches(ARTICLES){type=Branches}{id_mot ?}{doublons
theme}></BOUCLE_branches>

c'est quoi ce critère type sur une boucle articles ?
c'est pas plutot type_mot ?

Je viens de regarder dans la doc et tu as raison normalement, j'aurais du
utiliser la syntaxe "type_mot" et non "type", mais ce qui est que malgré
cette erreur cela fonctionne. Je vais tout de même modifier mon code afin de
le rendre conforme à la syntaxe SPIP.

Merci pour l'info.

Cordialement,

Xavier BUROT

-----Message d'origine-----
De : spip-bounces@rezo.net [mailto:spip-bounces@rezo.net] De la part de
Stephane
Envoyé : mardi 16 septembre 2008 23:19
Cc : spip@rezo.net
Objet : Re: [Spip] [RESOLU] ET logique sur une boucle

Xébiaut a écrit :

J'ai résolu mon soucis avec un simple "?" et en modifiant ma première

boucle

ainsi :
<BOUCLE_branches(ARTICLES){type=Branches}{id_mot ?}{doublons
theme}></BOUCLE_branches>

c'est quoi ce critère type sur une boucle articles ?
c'est pas plutot type_mot ?
_______________________________________________
liste spip
spip@rezo.net - désabonnement : spip-off@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