afficher les articles avec mots-clés

Hello

Soit des articles avec 1 ou plusieurs mot-clé d’un groupe précis.

Afficher les articles qui ont l’un OU l’autre des mots-clés associés l’article en cours, je sais faire.

Mais comment afficher les articles qui ont l’un ET l’autre (voire les autres) ?
Contrainte ; on ne sait pas combien de mots-clés sont attribués à l’article en cours.

Pour l’instant, j’en suis là

#SET{mes_mots, #ARRAY}
<BOUCLE_mots(MOTS){id_article}{type=Tags_Navigation}>
#SET{mes_mots, #GET{mes_mots}|push{#TITRE}}
</BOUCLE_mots>

<BOUCLE_affichage(ARTICLES){exclus}
{titre_mot=#GET{mes_mots}|table_valeur{0}}
{titre_mot=#GET{mes_mots}|table_valeur{1}}

#TITRE
</BOUCLE_affichage>

Si l’article a 2 mots-clés, ça roule
Mais s’il en a 1 seul ou 3, ça ne fonctionne plus.

Une idée, une piste ?

JC

Salut,

il me semble que c’est le rôle du plugin critères mots: https://contrib.spip.net/Critere-mots

Le mer. 18 déc. 2019 à 20:22, Jean Christophe Villeneuve <jean-chris.villeneuve@ac-lyon.fr> a écrit :

Hello

Soit des articles avec 1 ou plusieurs mot-clé d’un groupe précis.

Afficher les articles qui ont l’un OU l’autre des mots-clés associés l’article en cours, je sais faire.

Mais comment afficher les articles qui ont l’un ET l’autre (voire les autres) ?
Contrainte ; on ne sait pas combien de mots-clés sont attribués à l’article en cours.

Pour l’instant, j’en suis là

#SET{mes_mots, #ARRAY}
<BOUCLE_mots(MOTS){id_article}{type=Tags_Navigation}>
#SET{mes_mots, #GET{mes_mots}|push{#TITRE}}
</BOUCLE_mots>

<BOUCLE_affichage(ARTICLES){exclus}
{titre_mot=#GET{mes_mots}|table_valeur{0}}
{titre_mot=#GET{mes_mots}|table_valeur{1}}

#TITRE
</BOUCLE_affichage>

Si l’article a 2 mots-clés, ça roule
Mais s’il en a 1 seul ou 3, ça ne fonctionne plus.

Une idée, une piste ?

JC


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

Archives : https://www.mail-archive.com/spip@rezo.net/maillist.html

Infos : https://listes.rezo.net/mailman/listinfo/spip

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

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

Ben la doc du plugin digt
"Il peut arriver parfois de vouloir sélectionner des objets SPIP (articles, rubriques, sites etc.), ayant un certains nombre de mot clefs connus."

Or, dans mon exemple on ne connaît en avance ni les mots, ni leur nombre ...

JC

Le 18/12/2019 à 21:07, pierre laszczak a écrit :

Salut,

il me semble que c'est le rôle du plugin critères mots: Plugin « Critère {mots} » - SPIP-Contrib

Le mer. 18 déc. 2019 à 20:22, Jean Christophe Villeneuve <jean-chris.villeneuve@ac-lyon.fr <mailto:jean-chris.villeneuve@ac-lyon.fr>> a écrit :

    Hello

    Soit des articles avec 1 ou plusieurs mot-clé d'un groupe précis.

    Afficher les articles qui ont l'un OU l'autre des mots-clés
    associés l'article en cours, je sais faire.

    Mais comment afficher les articles qui ont l'un ET l'autre (voire
    les autres) ?
    Contrainte ; on ne sait pas combien de mots-clés sont attribués à
    l'article en cours.

    Pour l'instant, j'en suis là

        #SET{mes_mots, #ARRAY}
        <BOUCLE_mots(MOTS){id_article}{type=Tags_Navigation}>
        #SET{mes_mots, #GET{mes_mots}|push{#TITRE}}
        </BOUCLE_mots>

        <BOUCLE_affichage(ARTICLES){exclus}
        {titre_mot=#GET{mes_mots}|table_valeur{0}}
        {titre_mot=#GET{mes_mots}|table_valeur{1}}
        >
        #TITRE
        </BOUCLE_affichage>

    Si l'article a 2 mots-clés, ça roule
    Mais s'il en a 1 seul ou 3, ça ne fonctionne plus.

    Une idée, une piste ?

    JC

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

    Archives : https://www.mail-archive.com/spip@rezo.net/maillist.html

    Infos : https://listes.rezo.net/mailman/listinfo/spip

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

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

Le 18/12/2019 à 22:29, Jean-Christophe Villeneuve a écrit :

Ben la doc du plugin digt
"Il peut arriver parfois de vouloir sélectionner des objets SPIP (articles, rubriques, sites etc.), ayant un certains nombre de mot clefs connus."

Or, dans mon exemple on ne connaît en avance ni les mots, ni leur nombre ...

JC

heu, cela n'empeche pas d'utiliser. Tu ne les connais pas d'avance, mais il y a bien un moment où tu les connaitra (sinon comment compte tu selectionner). Et le plugin permet de fournir les mots clés qu'on veut tester (sous forme de #ARRAY)

Le plugins permet de filtrer des objets par mot clef avec un ET et améliore le fonctionnement standard de Spip qui ne fait que OU.
(Sans plugin additionnel et avec les boucles et critères standards de spip vous n’y parviendrait pas facilement)

êtes-vous certain que ça ne correspond pas à votre demande?

Le jeu. 19 déc. 2019 à 13:34, Maïeul <maieul@maieul.net> a écrit :

Le 18/12/2019 à 22:29, Jean-Christophe Villeneuve a écrit :

Ben la doc du plugin digt
« Il peut arriver parfois de vouloir sélectionner des objets SPIP
(articles, rubriques, sites etc.), ayant un certains nombre de mot clefs
connus. »

Or, dans mon exemple on ne connaît en avance ni les mots, ni leur nombre …

JC

heu, cela n’empeche pas d’utiliser. Tu ne les connais pas d’avance, mais
il y a bien un moment où tu les connaitra (sinon comment compte tu
selectionner). Et le plugin permet de fournir les mots clés qu’on veut
tester (sous forme de #ARRAY)

Ok mais je n’y arrive pas

J’ai mon tableau créé avec

#SET{mots, #ARRAY}
<BOUCLE_mots(MOTS){id_article}{type=Tags_Navigation}>
#SET{mots, #GET{mots}|push{#ID_MOT}}
</BOUCLE_mots>

Le code [(#GET{mots}|foreach)] m’affiche bien le tableau avec le id des mots de l’article en cours
-0=> 30
-1=> 93

Quel critère dois-je ensuite utiliser dans une boucle articles pour afficher ceux qui ont ces 2 mots-clés ?
Toutes mes tentatives aboutissent à un joli vide …

JC

Ben le critère {mots}^

Soit le tableau est dispo dans l’env, et, d’apres la documentation il sera pris en compte automatiquement. avec {mots} en critère de boucle articles

Soit en passant votre tableau au critere mot d’une boucle article {mots 100% #GET{mots}}

Le jeu. 19 déc. 2019 à 15:37, Jean-Christophe Villeneuve <jcvilleneuve@cegetel.net> a écrit :

Ok mais je n’y arrive pas

J’ai mon tableau créé avec

#SET{mots, #ARRAY}
<BOUCLE_mots(MOTS){id_article}{type=Tags_Navigation}>
#SET{mots, #GET{mots}|push{#ID_MOT}}
</BOUCLE_mots>

Le code [(#GET{mots}|foreach)] m’affiche bien le tableau avec le id des mots de l’article en cours
-0=> 30
-1=> 93

Quel critère dois-je ensuite utiliser dans une boucle articles pour afficher ceux qui ont ces 2 mots-clés ?
Toutes mes tentatives aboutissent à un joli vide …

JC

Le 19/12/2019 à 13:34, Maïeul a écrit :

Le 18/12/2019 à 22:29, Jean-Christophe Villeneuve a écrit :

Ben la doc du plugin digt
« Il peut arriver parfois de vouloir sélectionner des objets SPIP (articles, rubriques, sites etc.), ayant un certains nombre de mot clefs connus. »

Or, dans mon exemple on ne connaît en avance ni les mots, ni leur nombre …

JC

heu, cela n’empeche pas d’utiliser. Tu ne les connais pas d’avance, mais il y a bien un moment où tu les connaitra (sinon comment compte tu selectionner). Et le plugin permet de fournir les mots clés qu’on veut tester (sous forme de #ARRAY)


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

Archives : https://www.mail-archive.com/spip@rezo.net/maillist.html

Infos : https://listes.rezo.net/mailman/listinfo/spip

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

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

{mots 100% #GET{mots}}
C’est ça qui me manquait !!

Merci beaucoup pour le coup de pouce

JC