SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano

273 Plugins, 191 contribs sur SPIP-Zone, 99 visiteurs en ce moment

Accueil du site > Navigation > Critère mots > Critère mots

Critère {mots}

6 août 2009 – par Fil, Maïeul, RealET – 143 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

31 votes

Permettre de sélectionner facilement des objets SPIP ayant un ou des mots clefs en communs.

Il peut arriver parfois de vouloir sélectionner des objets SPIP (articles, rubriques, sites etc.), ayant un certains nombre de mot clefs connus.

Par exemple, je voudrais sélectionner les articles ayant les mots clefs « fruits » et « desserts », mais pas ceux qui n’ont que « déserts » ou que « fruits ».

Une telle opération, bien que possible, est assez difficile en SPIP ... sauf si vous utilisez ce plugin.

Il s’installe comme n’importe quel plugin.

Il propose trois critères :
-  {mots}
-  {mots_selon_id}
-  {mots_selon_titre}

Le critère {mots}

Prenons un exemple :

Cette boucle sélectionnera les articles ayant tous les mots clefs passés en paramètres d’environnement dans un tableau « mots ».

Comment passer ces mots-clefs en paramètres d’environnement ?

Typiquement, sur une page principale (non incluse), via des paramètres dans l’url. Par exemple : http://www.toto.fr/?page=toto&mots[0]=1&mots[1]=2.

Ici, j’ai passé dans le tableau ’mots’ les valeurs 1 et 2. Les articles associés, à la fois au mot dont l’id est 1 et à celui dont l’id est 2 seront sélectionnés [1].

Les valeurs du tableau ’mots’ peuvent être des identifiants de mots (1, 2) ou des titres de mots ("fruits", « desserts »).

Attention au cas où des mots clefs sont uniquement sous forme de nombre ...

Le critère {mots_selon_id}

Il fonctionne exactement comme le critère {mots}, à ceci près que les valeurs du tableau ’mots’ sont forcément des identifiants de mots (1,2).

Le critère {mots_selon_titre}

Il fonctionne exactement comme le critère {mots}, à ceci près que les valeurs du tableau ’mots’ sont forcément des titres de mots ("fruits","desserts").

Les paramètres supplémentaires

Les trois critères {mots},{mots_selon_id} et {mots_selon_titre} peuvent prendre deux paramètres : ’score’ et ’tableau’. Sous la forme {mots score tableau}.

Le paramètre ’score’.

Par défaut, le critère {mots} prend les objets ayant tous les mots passés en paramètre. On peut décider de vouloir prendre ceux ayant au moins un certain nombre de mots en passés paramètre, mais pas nécessairement tous. C’est à cela que sert le paramètre ’score’.

-  Si score est compris entre 0 et 1 (exclus), alors SPIP sélectionnera les objets ayant au moins ce pourcentage de mots [2] sur le total des mots passés en paramètre. Par exemple si j’écris {mots 0.5}, et que je passe 10 mots en paramètre, alors SPIP sélectionnera les objets ayant au moins 10*0.5 = 5 des mots passés en paramètre.
-  Si score est supérieur ou égale à 1 et suivi du signe « % », alors SPIP sélectionnera les objets ayant au moins ce pourcentage sur le total des mots passés en paramètre. Par exemple si j’écris {mots 50%}, et que je passe 10 mots en paramètre, alors SPIP sélectionnera les objets ayant au moins 50% de 10 = 5 des mots passés en paramètre.
-  Si score est supérieur ou égale à 1, mais n’est pas suivi du signe « % », alors SPIP sélectionnera les objets ayant au moins ’score’ mots passés en paramètres. Par exemple {mots 5} sélectionnera les objets ayant au moins 5 mots passés en paramètre.

Le paramètre ’tableau’.

Par défaut, SPIP prend comme tableau la variable d’environnement ’mots’. Mais on peut lui dire, via ce paramètre, de prendre un autre tableau.

Ce peut être un tableau :
-  calculé via #GET et #SET
-  inscrit en dur via #ARRAY
-  passé en variable d’environnement, et appelé via #ENV.

Ex : {mots 100% #ARRAY{0,2,1,1}} sélectionnera les objets ayant les mots clefs 2 et 1. Notez qu’il est obligatoire de donner une valeur au paramètre ’score’ pour utiliser ’tableau’, sinon SPIP les confond.

Formulaire de sélection

Avec la version 1.1 de ce plugin, une nouvelle possibilité s’offre à vous : faire appel à un formulaire bâtissant pour vous les critères dans l’url pour filtrer selon plusieurs mots clefs.

Connecté en tant que webmestre, vous pouvez tester avec la page de démonstration : /?page=demo/parmots.

Le formulaire présente dans un premier temps la liste de vos groupes de mots clefs.

Dès que vous en choisissez un dans la liste, automatiquement [3], la liste des mots clefs de ce groupe est affichée juste à côté.

Choisissez un mot clef, et ce dernier et ajouté à l’URL pour ne vous présenter que les articles ayant ce mot clef.

Et le processus peut être répété autant de fois que nécessaire.

Bonus : la liste des mots clefs déjà choisis est affichée sous le formulaire. Chaque mot est cliquable. Un clic le supprime de l’URL et de la liste.

PNG - 8.5 ko
Le formulaire critère mots en action

Usage du formulaire

-  Sur une seule page

  • en affichant tous les groupes de mots :
    1. <div class="ajax">
    2. [(#FORMULAIRE_RECHERCHE_PAR_MOTS)]
    3. </div>
  • en n’affichant que certains groupes de mots :
    1. #SET{FiltreGroupes,#ARRAY}
    2. <BOUCLE_FiltreGroupes(GROUPES_MOTS){titre==^[^_]}>
    3. #SET{FiltreGroupes,
    4.       #GET{FiltreGroupes}|push{#ID_GROUPE}}
    5. </BOUCLE_FiltreGroupes>
    6. <div class="ajax">
    7. [(#FORMULAIRE_RECHERCHE_PAR_MOTS{#GET{FiltreGroupes}})]
    8. </div>

Ici, on a choisi de ne pas afficher les groupes de mots commençants par « _ ».

-  On peut aussi utiliser le formulaire sur toute les pages du site pour renvoyer sur une page de résultats :

  1. [(#FORMULAIRE_RECHERCHE_PAR_MOTS{'',#URL_PAGE{pagederesultats}})]

NB :

  • le premier paramètre est un tableau d’identifiants de groupes, ou la chaine vide
  • le deuxième paramètre est l’URL de la page qui affiche les résultats.

P.-S.

Attention : la partie formulaire de ce plugin ne fonctionnera pas avec la version 2.0.10 de SPIP. Il faut :

Notes

[1Pour des pages incluses, il suffit de passer {mots} comme paramètre d’inclusion.

[2Car un nombre entre 0 et 1 est un pourcentage

[3Si vous n’avez pas désactivé javascript

Retour en haut de la page

Vos commentaires

  • Le 1er février à 14:54, par ? En réponse à : Critère {mots}

    LENTEUR

    Bonjour,

    j’utilise le formulaire « n’affichant que certains groupes de mots » , il s’agit d’un groupe de mot contenant une centaine de mots clés.

    lorsque je sélectionne un mot clé dans le menu déroulant j’ai un appercu du nombre d’articles qui répondent à ce critère, le temps d’affichage de ces articles est tes long, anormalement long, 15/20 secondes,

    avez vous une astuce pour améliorer cette efficacité ?

    merci

    Répondre à ce message

  • Le 2 mai 2011 à 13:26, par ? En réponse à : Critère {mots}

    Bonjour à tous,

    J’arrive à filtrer en fonction d’un mot clef quand je le mets en dur dans le squelette.
    Mais comment faire si je veux qu’il soit en variable sans qu’il passe par l’URL ?

    je m’explique, c’est tout simple mais je n’ai pas trouvé comment faire :

    je suis sur un article qui a pour mot clef « aaa » comment faire une boucle qui me donne tous les articles ayant le même mot clef ?

    mon code pour le moment avec le mot en dur :

    1. <BOUCLE_mot (MOTS) {id_article}>
    2.                                     #SET{mots, #ARRAY{0,aaa}}
    3.                                     <BOUCLE_article_mot (ARTICLES){id_rubrique!=11}{mots 100% #GET{mots}}>
    4.                                         <a href="[(#URL_RUBRIQUE|parametre_url{art,#ID_ARTICLE})]">#TITRE, </a>
    5.                                     </BOUCLE_article_mot>
    6.                                 </BOUCLE_mot>

    merci !

    • Le 2 mai 2011 à 13:31, par Maïeul En réponse à : Critère {mots}

      Il faut que vous remplissiez dynamiquement le tableau mots.

      Pour ce faire

      #SET{mots,#ARRAY}
      <BOUCLE_mots>
      #SET{mots,#GET{mots}|push{id_mot}}
      </BOUCLE_mots>

      Par ailleurs il faut que vous sortiez la boucle articles_mots de la boucle mot, sinonvous elle sera affichée autant de fois qu’il y a de mois à l’article.

    • Le 2 mai 2011 à 15:06, par ? En réponse à : Critère {mots}

      Merci pour cette réponse rapide !

      J’ai essayé ça, mais je ne dois pas avoir tout compris...

      1.         #SET{mots,#ARRAY}
      2.                                                              
      3.                                <BOUCLE_mot (MOTS) {id_article}>
      4.                                     #SET{mots,#GET{mots}|push{id_mot}}
      5.                                 </BOUCLE_mot>
      6.                                
      7.                                 <BOUCLE_article_mot (ARTICLES){id_rubrique!=11}{mots 100% #GET{mots}}>
      8.                                         <a href="[(#URL_RUBRIQUE|parametre_url{art,#ID_ARTICLE})]">#TITRE, </a>
      9.                                 </BOUCLE_article_mot>

      j’ai l’impression que de cette manière il ne comprend pas à quel mot l’array doit faire référence, je me trompe ?

      Merci beaucoup du temps que vous m’accordez en tout cas

    • Le 3 mai 2011 à 15:38, par ? En réponse à : Critère {mots}

      J’ai finalement réussi mais en laissant la boucle article dans la boucle mot
      Je n’ai pas de problème de répétitions, même quand j’ai plusieurs mots clefs associés. Bizarre mais ça fonctionne

      Le code pour ceux que ça intéresserait :

      1.      #SET{mots,#ARRAY}                  
      2.                                <BOUCLE_mot (MOTS) {id_article}>
      3.                                     #SET{mots,#GET{mots}|push{id_mot}}
      4.                                     <BOUCLE_article_mot (ARTICLES){id_rubrique!=11}{id_mot}{exclus}>
      5.                                     <a href="[(#URL_RUBRIQUE|parametre_url{art,#ID_ARTICLE})]">#TITRE, </a>
      6.                                 </BOUCLE_article_mot>
      7.                                 </BOUCLE_mot>

      Merci pour ce plugin et pour ton aide précieuse

    • Le 3 mai 2011 à 15:43, par Maïeul En réponse à : Critère {mots}

      votre seconde solution effectivement fonctionne … mais n’utilise pas ce plugin (pas de critères mots)

      il utilise juste les possibilités standard de SPIP. Et le pb de répétition absent est normal, grâce au critère exclus.

      par contre je ne comprend pas que le premier exemple n’ai pas fonctionné : est)ce que par hasard vous auriez #SETmots,#ARRAY dans la partie optionnelle d’une boucle ?

    • Le 3 mai 2011 à 16:07, par ? En réponse à : Critère {mots}

      Ah ok... !

      Non, je n’ai jamais utilisé #SET ou #ARRAY ailleurs que pour cette boucle dans les conditions énoncées plus haut. Mais mon niveau de développement est tellement proche de 0 qu’il est possible qu’une erreur quelque part ailleurs empêche votre solution de fonctionner !

      Merci

    • Le 20 décembre 2011 à 23:06, par Eerik Wissenz En réponse à : Critère {mots}

      J’avais la meme besoins : juste afficher les articles qui on tout (et que tout) les mots clef du context (genre les mots clef d’un rubriques ou un articles), puis ordre tout ca par date inverse.

      Maïeul propose biens la bonned solution, merci, mais a oublier un « # » avant id_mots « push », et « id_mot » devrais etre « ID_MOT ».

      #SET{mots,#ARRAY}                                
                                    <BOUCLE_mot (MOTS) {id_article}>
                                         #SET{mots,#GET{mots}|push{#ID_MOT}}
                                     </BOUCLE_mot>
                                     
                                     <BOUCLE_article_mot (ARTICLES){mots 100% #GET{mots}}{par date}{inverse}>
                                             <a href="#URL_ARTICLE">#TITRE, </a>
      </BOUCLE_article_mot>

      Remarque, dans un context rubriques, just change « id_article » avec « id_rubrique » dans la premier boucle. Aussi, oublie pas de cocher dans la mot clefs groupe que tu peur associer ce les mots clef de ce group a des rubrique (c’est possible que pour des article par default, Spip 2.1.12).

      Pardon mon francais, je suis Anglophone mais je me debroille en francais assez pour bien Spiper. Vive Spip !

    Répondre à ce message

  • Le 24 février 2010 à 15:37, par Nicolas Hoizey En réponse à : Critère {mots}

    Excellent !

    Est-ce que vous pensez possible de rajouter un critère de tri par nombre de mots trouvés ?

    Par exemple, je demande à avoir au moins 1 mot en commun, mais je voudrais mettre en avant ceux qui en ont plus...

    • Le 3 mars 2010 à 17:12, par Maïeul En réponse à : Critère {mots}

      heu desolé, je ne connais pas assez le mysql pour faire cela. Peut-être que c’est possible, mais il faudrait que je me plonge dedans. Peut-être cet été.

    • Le 14 décembre 2011 à 10:15, par bruno En réponse à : Critère {mots}

      Bonjour et merci,
      tres utile
      La nouvelle version permet-elle de resoudre ce pb
      Bruno

    • Le 14 décembre 2011 à 10:56, par Maïeul En réponse à : Critère {mots}

      pas à ma connaissance

    Répondre à ce message

  • Le 1er décembre 2011 à 19:08, par Loiseau2nuit En réponse à : Critère {mots}

    Je n’aurais que 2 mots : « BRAVO » et « MERCI » ! :-)

    Répondre à ce message

  • Le 6 novembre 2011 à 22:32, par michael En réponse à : Critère {mots}

    Une dernière petite question :

    J’ai mis le formulaire sur la page mot puisque j’ai une navigation exclusivement par mot clé !. j’arrive donc toujours sur cette page en ayant suivi un lien mot.
    J’aurais souhaité que l’id_mot que j’ai suivi soit prise en compte dans le tableau. Sans pour autant devoir modifier partout les liens sur les mots clés.

    Est-ce possible ?

    • Le 6 novembre 2011 à 22:48, par Maïeul En réponse à : Critère {mots}

      très probablement. Ce n’est pas moi qui ait créé ce formulaire, mais je suppose qu’il y a moyen de le modifier pour lui passer un paramètre id_mot. Après là je n’ai pas le temps de regarder exactement comment faire.

    • Le 14 novembre 2011 à 17:16, par ? En réponse à : Critère {mots}

      Quelqu’un pourrait juste m’expliquer comment ajouter une id_mot récupérer dans les variables environnementales dans le tableau mots ?

      Merci d’avance

    • Le 14 novembre 2011 à 18:31, par Maïeul En réponse à : Critère {mots}

      merci de commencer un nouveau fil par nouveau sujet ;-)

      pour le problème, un exemple de code aurait-été bon. Mais je t’envoie quand même vers la doc de la balise #ARRAY, qui devrait t’aider. Et si tu n’y arrive pas, et bien reviens :-) http://www.spip.net/fr_article4009.html

    • Le 14 novembre 2011 à 19:06, par michael En réponse à : Critère {mots}

      Désolé mais je n’ai fait que continuer mon fil ! j’ai juste oublié de m’identifier !
      Voila où j’en suis :

      Au début de ma page mot, j’ai rajouté cette ligne :
      [(#SET{mots,[(#ENV{mots, #ARRAY{}}|push{#ENV{id_mot}})]})]

      J’ai donc bien rajouté mon id_mot dans le tableau.

      Seulement si j’inclus le formulaire recherche_par_mot sur la page mot en utilisant la balise #FORMULAIRE_RECHERCHE_PAR_MOTS, il va chercher la valeur du tableau en ENV et non en GET et ne tient donc pas compte de mon ajout.

      J’essaie donc de mettre mon formulaire dans une noisette pour passer ma nouvelle variable mais ça ne change rien. Il me manque un truc mais je ne trouve pas pour le moment !

    Répondre à ce message

  • Le 6 novembre 2011 à 19:58, par michael En réponse à : Critère {mots}

    j’ai découvert ce plugin avant de commencer à développer mon site et je l’ai trouvé génial pour moi car j’envisageais une navigation par mots clés uniquement. J’y ai donc tout de suite vu une très bonne manière pour l’utilisateur de rajouter ou d’enlever des filtres de navigation.

    Mais voilà, j’ai fait des choix lors de mon développement, notamment celui d’utiliser le plugin-squelette zpip et de démarrer avec un thème de départ à modifier.

    Seulement voilà, au moment de mettre en place le plugin, je réalise qu’il ne fonctionne plus. Le formulaire affiche le select pour les groupes mais apres le choix, le select pour les mots du groupe ne s’affiche pas.

    Apres avoir longtemps cherché, j’ai réalisé que le plugin fonctionnait si je changeais simplement le thème appliqué. j’en déduit donc que le thèmes tincrédible est coupable. Seulement voilà, j’en suis à un stade où je ne peux plus m’en passer. je dois donc trouver le pkoi du comment.

    Si vous aviez une piste ou deux à explorer !!! Merci d’avance !

    • Le 6 novembre 2011 à 20:43, par Maïeul En réponse à : Critère {mots}

      cela m’étonne que le thème trincredible empêche l’affichage. Un thème gère la présentation, pas le contenu. Vous auriez un site exemple ?

    • Le 6 novembre 2011 à 20:49, par michael En réponse à : Critère {mots}

      Je peux le mettre en ligne sur mon pc si vous êtes encore là !
      http://78.230.32.35/

    • Le 6 novembre 2011 à 20:54, par michael En réponse à : Critère {mots}

      J’ai mis le switcher de thèmes ! La preuve est qu’il suffit de changer de thèmes pour que cela fonctionne.

    • Le 6 novembre 2011 à 21:09, par Maïeul En réponse à : Critère {mots}

      effectivement !

      pour le coup je pense que c’est thincredible qui met du js qui pose des soucis avec l’ajax natif de spip. Tu a essayer une pagination ajax par exemple ? ou un autre formulaire en ajax ?

      le mieux serait de demander sur le forum de tincredible

    • Le 6 novembre 2011 à 21:12, par michael En réponse à : Critère {mots}

      Les paginations fonctionnent et j’ai fait d’autres inclusions en ajax avec passage de variables qui fonctionnent.

      En tous cas merci d’avoir regardé !

    • Le 6 novembre 2011 à 22:09, par michael En réponse à : Critère {mots}

      Ben voilà ! Tu m’as mis sur la piste ! C’est bien le script pour le slider de la page d’accueil et qui était chargé dans le header directement depuis la surcharge du thèmes qui était en conflit ! Ce qui est étonnant car l’ajax fonctionnait malgré tout jusque là !

      Bref ! j’ai déplacé le script sur la noisette du slider et le tou est joué !

      Merci

    Répondre à ce message

  • Le 21 octobre 2011 à 18:20, par Christophe BORD En réponse à : Critère {mots}

    Bonjour,

    En utilisant ce plugin de la manière décrite avec un paramètre d’inclusion je rencontre un écueil :

    Dans un premier squelette je calcule un tableau criteres avec #SET et j’aimerais le passer comme paramètre à mon inclusion.

    1. #SET{criteres, #VAL{}|tabCriteres{#ENV{id_mot}}}

    tabCriteres est un filtre qui me renvoie un tableau, cette partie fonctionne.
    ....

    1. <INCLURE{fond=inc-syndic-tous}{{ {criteres} }}>

    Dans le second squelette inclus se trouve ma boucle :

    1. <BOUCLE_articles(ARTICLES){mots 100% #GET{criteres}}{par date}{inverse}>

    Ma boucle ne me donne pas de résultats. Avant l’inclusion le tableau compte pourtant bien plusieurs éléments. Quelque chose m’échappe ?

    • Le 21 octobre 2011 à 18:23, par Christophe BORD En réponse à : Critère {mots}

      1. <INCLURE{fond=inc-syndic-tous}{criteres}>

      Les parenthèses surnuméraires sont une étourdrier de ma part, je voulais mettre en gras.

    • Le 23 octobre 2011 à 12:03, par Maïeul En réponse à : Critère {mots}

      le passage des #SET ne se fait pas automatiquement dans les squelettes inclus. Ce sont les #ENV qui le font.

      Donc pour toi il faudrait que tu fasse :

      <INCLURE{fond=inc-syndic-tous}{criteres=#GET{criteres}}>

      Cela signifie que tu passe comme paramètre d’environnement criteres le contenu de #GET{criteres}
      et dans le squelette inclus :

      <BOUCLE_articles(ARTICLES){mots 100% #ENV{criteres}}{par date}{inverse}>
    • Le 24 octobre 2011 à 16:32, par Christophe BORD En réponse à : Critère {mots}

      Merci Maieul, ca m’avait complètement échappé.

    • Le 25 octobre 2011 à 11:26, par Christophe BORD En réponse à : Critère {mots}

      Si en plus le critère est optionnel
      {mots? 100% #ENV{criteres}}
      fonctionne très bien.
      Comme ça n’allait pas de soi en ce qui me concerne, ça peut peut être servir à d’autres.

    Répondre à ce message

  • Le 12 octobre 2011 à 16:55, par fredjust En réponse à : Critère {mots}

    Bonjour

    J’aimerais afficher la liste complète des mots clefs discriminants.

    J’arrive à récupérer une liste d’articles associée à des mots clefs,
    mais comment peut on récupérer les mots cléfs supplémentaires utiles pour affiner la recherche ?
    C’est à dire qu’après avoir récupérer les articles ayant le mot clef A,
    une liste me propose les mots clefs B et C car un article possède les mot A et B
    et un autre les mots A et C.
    C’est ce que semble faire l’exemple fourni dans le plugins dans les SELECT,
    mais j’aimerais afficher une liste directement cliquable des mots clefs "ajoutables"
    comme l’est actuellement celle des mots clef "supprimables" dans l’exemple.
    Cela serait extremement pratique comme mode de recherche.

    Est ce possible ?

    Merci beaucoup

    • Le 13 octobre 2011 à 12:55, par Maïeul En réponse à : Critère {mots}

      oui c’est possible (même si je ne comprend pas tout ce que tu veux). Tu connais un peu ou pas du tout le système de boucles de SPIP ?

    • Le 13 octobre 2011 à 14:47, par fredjust En réponse à : Critère {mots}

      je connais un peu oui, je me débrouille avec les boucles de base

      pour préciser mon idée :

      • on affiche tous les mots clefs (facile je sais faire)
      • on clique sur l’un d’entre eux
      • la liste des articles ayant se mot clef s’affiche (facile je sais faire)
      • la liste des mots clefs se mets a jour pour ne laisser que les mots clefs supplémentaires également liés aux articles affichés précédemment (là je sèche)

      cas pratique :

      • j’ai 4 mots clefs A, B, C et D
      • 2 articles
        • article 1 mot clef A B
        • article 2 mot clef A C
      • la liste des mots clefs s’affiche : A B C D
      • je clique sur A
      • on m’affiche l’article 1 et 2 et les mots clefs B et C (mais pas D car il ne permet pas d’affiner sa recherche)
      • je clique sur B
      • seul l’article 1 s’affiche et la liste des mots clefs est vide (on est au bout des sélections possibles)
      • une autre liste affiche les mots clefs sélectionnés pour les supprimer d’un clic (comme dans l’exemple fourni avec le plugins)

      Merci

    • Le 13 octobre 2011 à 19:05, par Maïeul En réponse à : Critère {mots}

      Alors il faut que tu stocke dans un tableau (#ARRAY) les id_article associés aux mots déjà sélèctionnés. Puis que tu fasse une boucle mots en prenant comme critère les id_articles de ce tableau.

      Quelquechose du genre :

      #SET{id_articles,#ARRAY}
      <BOUCLE_articles(ARTICLES){mots}>
      #SET{id_articles,#GET{id_articles}|push{#ID_ARTICLE}}
      </BOUCLE_articles>
      <BOUCLE_mots_articles(MOTS){id_article IN #GET{id_articles}}>
      #ID_MOT
      </BOUCLE_mots_articles>
      </B_articles>
      <BOUCLE_mots(MOTS)>
      #ID_MOT
      </BOUCLE_mots>
      <//B_articles>
    • Le 14 octobre 2011 à 19:18, par fredjust En réponse à : Critère {mots}

      merci je vais tester ca

    Répondre à ce message

  • Le 14 septembre 2011 à 12:17, par jeromelt En réponse à : Critère {mots}

    Le FORMULAIRE_RECHERCHE_PAR_MOTS permet de sélectionner les mots clés d’un groupe de mot.

    Cette sélection se fait assez lentement car il faut d’abord choisir 1 mot, le calcul se fait... les résultats s’affichent.

    Ensuite on peut choisir un autre mot, etc.

    Est il possible plutot qu’un menu déroulant d’afficher la liste des mots clés sous forme de liste à cocher afin d’effectuer une recherche multicritère en une seule fois ?

    ou à défaut permettre de sélectionner plusieurs mots clés dans le menu déroulant ?

    Pouvez vous m’aider à réaliser cela ?

    • Le 14 septembre 2011 à 12:23, par Maïeul En réponse à : Critère {mots}

      tu connais les boucles de SPIP ou pas ? pour savoir quel degrees d’explication je dois fournir …

    • Le 14 septembre 2011 à 14:29, par jeromelt En réponse à : Critère {mots}

      oui je connais le fonctionnement général.
      à mon sens il s’agirait de modifier la page recherche_par_mot.html ou d’en créer une autre à partir de celle ci recherche_par_mot2.html que je rangerais dans mon dossier squelette/formulaires ?

      ensuite suffit t’il de modifier le type de select ?

    • Le 14 septembre 2011 à 18:34, par Maïeul En réponse à : Critère {mots}

      c’est ca. tu peux opter pour l’une ou l’autre des solutions, du moment que tu place tout cela dans ton dossier squelettes.

      Il suffit de modifier le squelette du formulaire et celui qui affiche les mots à la sortie du formulaire. Normalment la doc permet à une personne qui connaît les boucles de faire les modifs. Si tu bloque envoie moi ton code.

    Répondre à ce message

  • Le 12 septembre 2011 à 20:40, par lala En réponse à : Critère {mots}

    salut,

    J’ai mis en place un moteur de recherche voir l’image jointe, mais en dehors des mots j’ai un champ input que l’internaute doit remplir. Pour l’instant si je choisis les mots clés j’ai un résultat par contre si je cherche la présence d’un mot dans les titres des articles ou dans les textes en tapant un mot dans le champ input j’ai pas de résultat. Est ce quelqu’un peut m’aider ??

    PNG - 3.1 ko
    • Le 12 septembre 2011 à 20:45, par Maïeul En réponse à : Critère {mots}

      les mots qu’on frappe dans le input doivent être cherché parmis les mot clefs ou dans le corps du texte ?

      tu a ton code ?

    • Le 13 septembre 2011 à 15:10, par lala En réponse à : Critère {mots}

      Merci de votre réponse

      finalement ca marche, les mots qu’on frappe dans le input doit cherché dans le corps du texte

      voici quand même le formulaire :

      <form action="spip.php?page=resultat" method="get" >
                     
                                                      <input name='page' value='resultat' type='hidden' />
                                                      [<input name='lang' value='(#ENV{lang})' type='hidden' />]

                                           
                                               
                                                 <!-- la chaine cherchee -->                                       
                                                      <input type="text" class="forml" name="recherche" id="recherche-avancee" value="#RECHERCHE"  />       
             

                                                      <B_g1>
                                                      <select name="mots[0]">
                                                      <BOUCLE_g1(GROUPES_MOTS){id_groupe IN 3}>
                                                      <option value="">#TITRE</option>
                                                      <BOUCLE_surmot(MOTS){id_groupe}{par multi titre}>
                                                      <option value="#ID_MOT" [(#ENV{id_mot}|=={#ID_MOT}?{"SELECTED"})]>#TITRE </option>
                                                      </BOUCLE_surmot>
                                                      </select>
                                                      </BOUCLE_g1>
                                                      </B_g1>


                                                      <B_g2>
                                                      <select name="mots[1]">
                                                      <BOUCLE_g2(GROUPES_MOTS){id_groupe IN 4}>
                                                      <option value="">#TITRE</option>
                                                      <BOUCLE_surmot2(MOTS){id_groupe}{par multi titre}>
                                                      <option value="#ID_MOT" [(#ENV{id_mot}|=={#ID_MOT}?{"SELECTED"})]>#TITRE </option>
                                                      </BOUCLE_surmot2>
                                                      </select>
                                                      </BOUCLE_g2>
                                                      </B_2>
      <input type="submit" class="bouton" value="<:rechercher:>" />
      </form>

      Pour la page resultat :

    Répondre à ce message

Répondre à cet article

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d'abord sur gravatar.com (gratuit et indolore) et n'oubliez pas d'indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Thélia

    26 juin 2007 – 838 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Une approche basée sur l’utilisation conjointe des deux logiciels SPIP et Thélia pour la réalisation de sites de publication et de vente en ligne

  • MediaBox

    10 mai 2010 – 178 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Aperçu La MediaBox est une Boîte multimédia polyvalente et personnalisable. Le plugin est basé sur la librairie moderne ColorBox, qui a été enrichie et adaptée pour SPIP. Par défaut, mediabox propose 5 habillages. Il est assez facile d’en créer de (...)

  • Navigation AJAX

    31 janvier – 10 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Ce plugin permet de modifier automatiquement une parties des liens internes de manière à ce qu’ils ne déclenchent pas un chargement complet de la page cible, mais un chargement en AJAX de certains éléments spécifiés à l’avance. Il permet aussi de (...)

  • Squelettes IENSP-X version Pleine Page pour SPIP 2.1

    8 décembre 2008 – 11 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Version 3.2 pour SPIP 2.1

  • Balise #CAPTCHA

    12 juillet 2007 – 24 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Cette nouvelle balise oblige à rentrer un code avant d’avoir accès aux forums publics des articles.