Exclusion

Bonjour,
J'ai une série de boucles comme ceci:

<BOUCLE_art_traduit(ARTICLES){par hasard}{0,5}{titre_mot!=Tourisme}{id_rubrique!=99}>

<BOUCLE_mots10(ARTICLES){id_article}{id_mot==^(2|35)$}>
#TITRE
</BOUCLE_mots10>

</BOUCLE_art_traduit>

Normalement, je ne devrais pas voir apparaître d'articles dont le mot-clé n'est pas Tourisme.
Or il y en a qui apparaissent.
Où est l'erreur ?

Merci d'avance
ADB

--
Guide Méditerranée :
http://www.guidemediterranee.com

Guide Manche:
http://www.guidemanche.com

Guide Atlantique:
http://www.guideatlantique.com

ADB a écrit :

Bonjour,
J'ai une série de boucles comme ceci:

<BOUCLE_art_traduit(ARTICLES){par hasard}{0,5}{titre_mot!=Tourisme}{id_rubrique!=99}>

<BOUCLE_mots10(ARTICLES){id_article}{id_mot==^(2|35)$}>
#TITRE
</BOUCLE_mots10>

</BOUCLE_art_traduit>

Normalement, je ne devrais pas voir apparaître d'articles dont le mot-clé n'est pas Tourisme.
Or il y en a qui apparaissent.
Où est l'erreur ?

Merci d'avance
ADB

Hello ,

c'est pas dit que ce soit ça, mais as tu essayé de faire :

<BOUCLE_art_traduit(ARTICLES){par hasard}{0,5}{titre_mot!= id de la rubrique tourisme }{id_rubrique!=99}>

<BOUCLE_mots10(ARTICLES){id_article}{id_mot IN 2,35}>
#TITRE
</BOUCLE_mots10>
</BOUCLE_art_traduit>

J'avais eu un souci , mais houlà c'était en 1.7.2, parce qu'en faisant {id_mot==^(2|35)$} par exemple, ça me ramenait aussi l'id mot 20 par exemple... Je ne sais pas si il y a toujours ça dans les nouvelles versions...

En espérant que cela te dépannera... cordialement.

Mike

Bonjour, je pense que tu n'as pas dû repérer un post assez ancien sur le sujet, mais où tu aurais eu ta réponse : en fait, tu ne peux pas utiliser une exclusion avec le critère titre_mot (ou id_mot). En effet, ce critère ne fonctionnerait que si TOUS tes articles avaient un mot-clé.

Dans ton cas, tu as des articles sans mot-clé (du moins, je le suppose ...), donc, si tu regardes (mode debug) la requête générée, tu comprendras que les articles sans mot-clé vont forcément apparaître ...

Le moyen de gérer cela est de passer par une boucle sur le mot-clé que tu veux exclure, et de continuer ensuite avec un critère {doublons}. Par ex.

<BOUCLE_art_exclus(ARTICLES){titre_mot=Tourisme}{doublons}>
</BOUCLE_art_exclus>

<BOUCLE_art_traduit(ARTICLES){par hasard}{0,5}{doublons}{id_rubrique!=99}>
etc ...

Essaie ça, c'est un peu contraignant, mais ça devrait marcher ...

A+
----------------------------------------------
Marc VALLETEAU de MOULLIAC
assfor
L'expertise de la protection sociale
06 61 79 17 31
http://www.prociale.com
Valorisez vos salariés
__________________________________________________
"L'intégrité de ce message n'étant pas assurée sur Internet, assfor ne peut être tenu pour responsable de son contenu. Si vous n'êtes pas destinataire de ce message, merci de le détruire et d'avertir l'expéditeur."

Le 22 nov. 06 à 14:15, Mike LECOMTE a écrit :

ADB a écrit :

Bonjour,
J'ai une série de boucles comme ceci:

<BOUCLE_art_traduit(ARTICLES){par
hasard}{0,5}{titre_mot!=Tourisme}{id_rubrique!=99}>

<BOUCLE_mots10(ARTICLES){id_article}{id_mot==^(2|35)$}>
#TITRE
</BOUCLE_mots10>

</BOUCLE_art_traduit>

Normalement, je ne devrais pas voir apparaître d'articles dont le mot-clé
n'est pas Tourisme.
Or il y en a qui apparaissent.
Où est l'erreur ?

Merci d'avance
ADB

Hello ,

c'est pas dit que ce soit ça, mais as tu essayé de faire :

<BOUCLE_art_traduit(ARTICLES){par
hasard}{0,5}{titre_mot!= id de la rubrique tourisme }{id_rubrique!=99}>

<BOUCLE_mots10(ARTICLES){id_article}{id_mot IN 2,35}>
#TITRE
</BOUCLE_mots10>
</BOUCLE_art_traduit>

J'avais eu un souci , mais houlà c'était en 1.7.2, parce qu'en faisant
{id_mot==^(2|35)$} par exemple, ça me ramenait aussi l'id mot 20 par
exemple... Je ne sais pas si il y a toujours ça dans les nouvelles
versions...

En espérant que cela te dépannera... cordialement.

Mike
_______________________________________________
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
FAQ : http://www.spip-contrib.net/spikini/FaQ

Pardon à Jacques Peyrat, mais je réponds dans le corps du texte...

Marc VALLETEAU de MOULLIAC a écrit :

Bonjour, je pense que tu n'as pas dû repérer un post assez ancien sur le sujet, mais où tu aurais eu ta réponse : en fait, tu ne peux pas utiliser une exclusion avec le critère titre_mot (ou id_mot). En effet, ce critère ne fonctionnerait que si TOUS tes articles avaient un mot-clé.

Tous mes articles ont un mot-clé.

Dans ton cas, tu as des articles sans mot-clé (du moins, je le suppose ...), donc, si tu regardes (mode debug) la requête générée, tu comprendras que les articles sans mot-clé vont forcément apparaître ...

Le moyen de gérer cela est de passer par une boucle sur le mot-clé que tu veux exclure, et de continuer ensuite avec un critère {doublons}. Par ex.

<BOUCLE_art_exclus(ARTICLES){titre_mot=Tourisme}{doublons}>
</BOUCLE_art_exclus>

<BOUCLE_art_traduit(ARTICLES){par hasard}{0,5}{doublons}{id_rubrique! =99}>
etc ...

Essaie ça, c'est un peu contraignant, mais ça devrait marcher ...

Je vais essayer.
Mais apparemment, en écrivant:

<BOUCLE_art_traduit(ARTICLES){par hasard}{0,5}{titre_mot!==Tourisme}{id_rubrique!=99}>

<BOUCLE_mots10(ARTICLES){id_article}{id_mot==^(2|35)$}>
#TITRE
</BOUCLE_mots10>
...

ça marche.

Merci à tous les deux (Mike compris)
ADB

--
Guide Méditerranée :
http://www.guidemediterranee.com

Guide Manche:
http://www.guidemanche.com

Guide Atlantique:

Je vais essayer.
Mais apparemment, en écrivant:

<BOUCLE_art_traduit(ARTICLES){par
hasard}{0,5}{titre_mot!==Tourisme}{id_rubrique!=99}>

<BOUCLE_mots10(ARTICLES){id_article}{id_mot==^(2|35)$}>
#TITRE
</BOUCLE_mots10>
...

ça marche.

Merci à tous les deux (Mike compris)

Ben c'est la même boucle que celle de ton premier mail...

Olivier GENDRIN a écrit :

Je vais essayer.
Mais apparemment, en écrivant:

<BOUCLE_art_traduit(ARTICLES){par
hasard}{0,5}{titre_mot!==Tourisme}{id_rubrique!=99}>

<BOUCLE_mots10(ARTICLES){id_article}{id_mot==^(2|35)$}>
#TITRE
</BOUCLE_mots10>
...

ça marche.

Merci à tous les deux (Mike compris)

Ben c'est la même boucle que celle de ton premier mail...

_______________________________________________

Non, non... :slight_smile:
La différence c'est !== au lieu de !=
Je me suis dit que comlme c'était un mot, le == était nécessaire. Mais faut voir sur des esssais prolongés.
Merci
ADB

--
Guide Méditerranée :
http://www.guidemediterranee.com

Guide Manche:
http://www.guidemanche.com

Guide Atlantique:

ADB a écrit :

Olivier GENDRIN a écrit :

Je vais essayer.
Mais apparemment, en écrivant:

<BOUCLE_art_traduit(ARTICLES){par
hasard}{0,5}{titre_mot!==Tourisme}{id_rubrique!=99}>

<BOUCLE_mots10(ARTICLES){id_article}{id_mot==^(2|35)$}>
#TITRE
</BOUCLE_mots10>
...

ça marche.

Merci à tous les deux (Mike compris)

Ben c'est la même boucle que celle de ton premier mail...

_______________________________________________

Non, non... :slight_smile:
La différence c'est !== au lieu de !=
Je me suis dit que comlme c'était un mot, le == était nécessaire. Mais faut voir sur des esssais prolongés.
Merci
ADB

il n'empêche que le passage par des boucles d'exclusion avec doublons me semble une meilleure habitude à prendre, surtout depuis qu'on peut nommer ces doublons. C'est plus facile à maintenir AMHA.

PierreN.