RE: [Spip] Expression relationelle pour afficher article selon plusieurs mots clé

Si je comprends, tu voudrais
-les articles qui ont le mot-clef 4
- ET qui ont le mot-clef 9 ?

Ta regexp te donne les articles qui ont (le mot-clef 4 OU le mot-clef 9).

Pour faire ton ET c'est pas simple car tous les critères de spip
fonctionnent en OU.
Les solutions utilisent les boucles imbriquées ou bien les doublons.

<BOUCLE_articles(ARTICLES){par titre}{id_mot==4}>
    <BOUCLE_a2(ARTICLES){id_article}{id_mot==9}>
       [(#TITRE)]
    </BOUCLE_a2>
</BOUCLE_articles>

va marcher: tu ne verras que les titres des articles qui ont a la fois 4 et
9.

Par doublons c'est moins simple, tu devrais trouver des soluces dans les
archives en cherchant "mots-clefs" et "doublons"

Ca repose la question de savoir s'il ne faudrait pas fabriquer un système
de critères ET mais pour l'instant ca n'a pas l'air prioritaire, et je ne
vois pas comment le faire en plugin...

Mes deux sous
MJ

Original Message:
-----------------
From: robomatix robomatix@machinesculte.net
Date: Sun, 14 Sep 2008 11:45:25 +0200
To: spip@rezo.net
Subject: [Spip] Expression relationelle pour afficher article selon
plusieurs mots clé

Bonjour à tous,

Je tente de réaliser une sélection d'article d'aprés plusieurs mots clé.
J'aimerai utiliser la notion de et/ou.
J'y arrive avec 'ou', mais pas avec 'et'...

Pour que ce soit un peu plus clair voici ce que je fais pour le ou

#SET{'criteres_genre_test', "^[4|9]$"} (Normalement, cette variable est
construite d'aprés des données passée par l'url...)

<BOUCLE_articles(ARTICLES){par titre}{id_mot==#GET{'criteres_genre_test'}}>
[(#TITRE)]
</BOUCLE_articles>

Je me demande donc quelle est l'expression relationnelle pour 'et' et si
ça peut marcher... J'ai peur que ça ne tente d'afficher que les articles
dont les identifiant des mots clé ne soit en l'occurence 4 ET 9, ce qui
est impossible, les mots clé n'ayant qu'un seul identifiant...

Merci de votre aide...
_______________________________________________
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

--------------------------------------------------------------------
mail2web LIVE – Free email based on Microsoft® Exchange technology -
http://link.mail2web.com/LIVE

mjorda@ifrance.com a écrit :

Si je comprends, tu voudrais
-les articles qui ont le mot-clef 4
- ET qui ont le mot-clef 9 ?

Ta regexp te donne les articles qui ont (le mot-clef 4 OU le mot-clef 9).

Pour faire ton ET c'est pas simple car tous les critères de spip
fonctionnent en OU.
Les solutions utilisent les boucles imbriquées ou bien les doublons.

<BOUCLE_articles(ARTICLES){par titre}{id_mot==4}>
    <BOUCLE_a2(ARTICLES){id_article}{id_mot==9}>
       [(#TITRE)]
    </BOUCLE_a2>
</BOUCLE_articles>

va marcher: tu ne verras que les titres des articles qui ont a la fois 4 et
9.

Par doublons c'est moins simple, tu devrais trouver des soluces dans les
archives en cherchant "mots-clefs" et "doublons"

Ca repose la question de savoir s'il ne faudrait pas fabriquer un système
de critères ET mais pour l'instant ca n'a pas l'air prioritaire, et je ne
vois pas comment le faire en plugin...

Mes deux sous
MJ

Original Message:
-----------------
From: robomatix robomatix@machinesculte.net
Date: Sun, 14 Sep 2008 11:45:25 +0200
To: spip@rezo.net
Subject: [Spip] Expression relationelle pour afficher article selon
plusieurs mots clé

Bonjour à tous,

Je tente de réaliser une sélection d'article d'aprés plusieurs mots clé. J'aimerai utiliser la notion de et/ou.
J'y arrive avec 'ou', mais pas avec 'et'...

Pour que ce soit un peu plus clair voici ce que je fais pour le ou

#SET{'criteres_genre_test', "^[4|9]$"} (Normalement, cette variable est construite d'aprés des données passée par l'url...)

<BOUCLE_articles(ARTICLES){par titre}{id_mot==#GET{'criteres_genre_test'}}>
[(#TITRE)]
</BOUCLE_articles>

Je me demande donc quelle est l'expression relationnelle pour 'et' et si ça peut marcher... J'ai peur que ça ne tente d'afficher que les articles dont les identifiant des mots clé ne soit en l'occurence 4 ET 9, ce qui est impossible, les mots clé n'ayant qu'un seul identifiant...

Merci de votre aide...
_______________________________________________
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

--------------------------------------------------------------------
mail2web LIVE – Free email based on Microsoft® Exchange technology -
http://link.mail2web.com/LIVE

Merci de m'avoir répondu !

Pour les ET écrit directement dans une boucle je crois qu'un truc du genre<BOUCLE_articles(ARTICLES){par titre}{id_mot=4}{id_mot=9}> marche... Le problème c'est qu'il s'agit de choisir les mots clé dans une liste et de sélectionner les article en fonction, c'est doit donc être dynamique...
Je crois que je vais devoir m'inspirer de ça : Recherche multi-critère par mots-clés - SPIP-Contrib mais il faut l'adapter à SPIP 1.9.x...

bonsoir,
j’ai rencontré le même pb il y a quelques temps, et j’ai pu le résoudre avec ces pistes :

  • le plugin recheche multi-critère : - téléchargeable sur la zone : recherche_multicriteres.zip - un bon article ici : le résultat, un « moteur de recherche » multicritères (ET) d’articles basé sur les mots-clés : robomatix a écrit :