Plugin &laquo; Critère {mots} &raquo; - commentaires Plugin « Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> » 2024-04-09T10:20:59Z https://files.spip.org/Critere-mots#comment514854 2024-04-09T10:20:59Z <p>Par contre si on met</p> <div class="precode"><pre class="spip_code spip_code_block language-spip" dir="ltr" style="text-align:left;" data-language="spip"><code>#SET{FiltreGroupes,#ARRAY} <BOUCLE_FiltreGroupes(GROUPES_MOTS){titre==^[^_]}> #SET{FiltreGroupes, #GET{FiltreGroupes}|push{#ID_GROUPE}} </BOUCLE_FiltreGroupes> <div class="ajax"> [(#FORMULAIRE_RECHERCHE_PAR_MOTS{#GET{FiltreGroupes},#SELF})] </div></code></pre></div> <p>au lieu de</p> <div class="precode"><pre class="spip_code spip_code_block language-spip" dir="ltr" style="text-align:left;" data-language="spip"><code><div class="ajax"> [(#FORMULAIRE_RECHERCHE_PAR_MOTS{#GET{FiltreGroupes},#SELF})] </div></code></pre></div> <p>Alors, ça marche.</p> <p>Je pense que le souci vient de recherche_par_mots.html ou recherche_par_mots.php dans critere_mots/v4.3.7/formulaires</p> <p>J'ai essayé de tripatouiller par là, mais je ne suis pas bien doué et je n'ai pas trouvé.</p> Plugin « Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> » 2024-04-09T09:50:54Z https://files.spip.org/Critere-mots#comment514852 2024-04-09T09:50:54Z <p>Bonjour,<br class="autobr"> je teste ce plugin (Critère mots v4.3.7 sur Spip 4.10) en local sur un spip tout nu avec juste ce plugin.</p> <p>En page sommaire, je met</p> <div class="precode"><pre class="spip_code spip_code_block language-spip" dir="ltr" style="text-align:left;" data-language="spip"><code><div class="ajax"> [(#FORMULAIRE_RECHERCHE_PAR_MOTS)] </div> <BOUCLE_art(ARTICLES){mots}> #TITRE <br/> </BOUCLE_art></code></pre></div> <p>Si je met un groupe de mots-clés, des mots-clés dedans (et les articles qui vont avec), j'ai alors le menu déroulant « Les mots-clés », incluant les mots-clés du groupe. Ça marche très bien.</p> <p>Si j'ajoute un deuxième groupe de mots-clés, Seulement la phrase « Les mots-clés » s'affiche (mais sans menu déroulant). Il n'y a plus de sélection possible.</p> <p>Ne suis-je pas sensé avoir un résultat similaire à la page : <br class="autobr"> <code class="spip_code spip_code_inline" dir="ltr">/?page=demo/parmots</code><br class="autobr"> <small class="fine d-inline"> </small>? (qui elle marche nickel)</p> <p>En tout cas, super plugin et en plus pensé pour « Mots arborescents »<small class="fine d-inline"> </small>!</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2023-07-28T09:33:32Z https://files.spip.org/Critere-mots#comment513784 2023-07-28T09:33:32Z <p>oui pourquoi se compliquer la vie :)</p> <div class="precode"><pre class="spip_code spip_code_block language-spip" dir="ltr" style="text-align:left;" data-language="spip"><code> <BOUCLE_mots(MOTS){id_article}> <BOUCLE_annexe(ARTICLES){id_mot}> [(#REM) Gestion du portfolio et des documents ] [(#INCLURE{fond=inclure/documents,id_article,id_rubrique='',env})] </BOUCLE_annexe> </BOUCLE_mots></code></pre></div> <p>je voulais afficher le portfolio de son « binôme » et cela fonctionne bien<br class="autobr"> MERCI</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2023-07-28T09:02:33Z https://files.spip.org/Critere-mots#comment513783 2023-07-28T09:02:33Z <p>Tu n'a a priori pas besoin de critères <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> pour cela. Le critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> au pluriel permet de récuperer les articles ayant un certain nombre de mot clés passés en environnement (voir <a href="https://programmer.spip.net/L-environnement-ENV" class="spip_url spip_out auto" rel="nofollow external">https://programmer.spip.net/L-environnement-ENV</a> ou <a href="https://contrib.spip.net/La-balise-ENV" class="spip_url spip_out auto" rel="nofollow external">https://contrib.spip.net/La-balise-ENV</a>).</p> <p>Mais ton besoin toi c'est de récuperer un article qui a un mot clé commun. S'il suffit d'avoir un mot clé commun, alors :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><BOUCLE_principal(ARTICLES){id_article}> ICI l'article principal <BOUCLE_mots(MOTS){id_article}> Ici les mots de l'article <BOUCLE_annexe(ARTICLES){id_mots}{doublon}> Ici les articles qui ont le mot de la rubrique parente </BOUCLE_annexe> </BOUCLE_mots> </BOUCLE_principal> </code></pre></div> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2023-07-28T08:42:02Z https://files.spip.org/Critere-mots#comment513782 2023-07-28T08:42:02Z <p>Bonjour,</p> <p>j'ai un peu de mal à comprendre le principe du critère mot...</p> <p>dans une page d'article, je souhaite afficher un autre article qui a le m^me mot clé que l'article où on se trouve :</p> <p>j'essaie cela :</p> <div class="precode"><pre class="spip_code spip_code_block language-spip" dir="ltr" style="text-align:left;" data-language="spip"><code><BOUCLE_mot_cle(ARTICLES) {mots 2 100%}> <a href="#URL_ARTICLE">#TITRE</a> </BOUCLE_mot_cle></code></pre></div> <p>mais rien, nada</p> <p>Merci pour de l'aide <br class="autobr"> Pirlo</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2023-07-18T10:34:20Z https://files.spip.org/Critere-mots#comment513763 2023-07-18T10:34:20Z <p>Ça marche nickel :).</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2023-06-14T05:38:21Z https://files.spip.org/Critere-mots#comment513534 2023-06-14T05:38:21Z <p>Bonjour et merci pour ce plugin... Y a-t-il un retour pour l'utilisation de ce plugin sous spip 4.2<small class="fine d-inline"> </small>? Quelqu'un a-t-il déjà essayé en modifiant les bornes de version<small class="fine d-inline"> </small>?</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2019-01-26T15:18:46Z https://files.spip.org/Critere-mots#comment499733 2019-01-26T15:18:46Z <p>Je ne sais pas si ce plugin est pertinent pour ce que je veux faire<small class="fine d-inline"> </small>?<br class="autobr"> Tout se passe du côté public.<br class="autobr"> Chaque administrateur restreint possède un groupe de mots-clés ayant exactement le même nom que l'auteur. Le premier mot généré dans son groupe est son nom. Ce mot-clé est attribué à l'auteur. De plus avec MOTUS le groupe de mots clés est lié à la rubrique restreinte de l'auteur.<br class="autobr"> Dans son groupe, sur une page mots.html ou auteur.html je voudrais qu'il puisse ajouter des sous-groupes et des mots, puis lorsqu'il est dans un article ou un document ... qu'il puisse assigner le mot clé de son choix. Enfin je voudrais que la recherche se fasse uniquement dans son groupe de mots.<br class="autobr"> J'arrive <strong>en partie</strong> à faire ce que je veux avec spipiculous et choix mots mais les mots-clés générés dans -tag- ne sont pas spécifiques à chaque utilisateur. <br class="autobr"> Je pensais qu'une boucle MOTS dans un boucle auteurs ayant <code class="spip_code spip_code_inline" dir="ltr">{id_auteur=#SESSION{id_auteur}}</code> ferait l'affaire mais non.Dans tous mes essais il n'y a que ce code (trouvé dans spip@rezo.net) permet d'afficher pour chaque auteur son groupe et ses mots-clés utilisés.</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>[(#REM) On crée le tableau ] #SET{mots, #ARRAY} [(#REM) On remplit le tableau avec les titres des mots liés à l'auteur connecté ] <BOUCLE_mots_auteur(MOTS){id_auteur=#SESSION{id_auteur}}> #SET{mots, #GET{mots}|push{#TITRE}} </BOUCLE_mots_auteur> <h3>Le contenu du tableau (pour info)</h3> [(#GET{mots}|foreach)] <hr /> [(#REM) On sort les articles dont le mot est dans le tableau ] <h3>Les articles</h3> <BOUCLE_articles_mots(ARTICLES){titre_mot IN #GET{mots}}> <p>#TITRE</p> </BOUCLE_articles_mots></code></pre></div> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2018-05-09T10:42:31Z https://files.spip.org/Critere-mots#comment496838 2018-05-09T10:42:31Z <p>Bon,</p> <p>en fait idéalement, il aurait mieux value la saisie (au sens du plugins saisie) mots pour que ton champs extra permette de gérer plusieurs mots. Là tu courcircuite le mecanisme de construction automatique de formulaire par le plugin champ extra. Mais passons.</p> <p>Deja, je serais toi je stocker l'identifiant du mot clef, et pas le titre, lequel est susceptible de changer.</p> <p>Dans ta boucle auteur, tu dois pouvoir récuperer ce qui est stocké dans le champ preferences, via la balise #PREFERENCES. Comme c'est un tableau, tu peux utiliser le filtre <code class="spip_code spip_code_inline" dir="ltr">|in_array</code> pour tester si cela correspond au mot courant. Voir exemple ici</p> <p><a href="https://www.spip.net/fr_article4009.html" class="spip_url spip_out auto" rel="nofollow external">https://www.spip.net/fr_article4009.html</a></p> <p>Ensuite, puisque tu stocke tes id de mots dans un tableau #PREFERENCES d'une boucle auteur, il te suffit pour ta recherche d'avoir le critère <code class="spip_code spip_code_inline" dir="ltr">{mots_selon_id #PREFERENCES}</code> pour la boucle d'evebnement, elle même intégré dans la boucle d'auteur.</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2018-05-09T10:32:08Z https://files.spip.org/Critere-mots#comment496837 2018-05-09T10:32:08Z <p>Merci pour tes conseils Maïeul, cela m'a provoqué une chouette nuit de code...<small class="fine d-inline"> </small>;-)</p> <p>J'ai donc exploré la piste du champs extra input qui conserve l'array de mes choix.</p> <p>J'ai fait une page de récap' étape par étape. Avec les scripts et boucles utilisées pour ceux que cela intéresse : <a href="http://lakesapp.formatec.be/?page=test_critere_mot" class="spip_url spip_out" rel='nofollow external'>http://lakesapp.formatec.be/?page=t...</a></p> <p>Je coince sur deux choses :</p> <p>- à l'etape3, comment faire pour que mon tableau de choix soit en statut « checked » si c'est le cas dans mon array de preferences<small class="fine d-inline"> </small>?</p> <p>- et à l'étape 5, là ont est au coeur du plugin « critere mot » que je ne maitrise pas encore bien. Comment faire pour que cette boucle agenda devienne un agenda perso en fonction de mes mots favoris<small class="fine d-inline"> </small>? Je pense que ton plugin est le meilleur moyen, mais je ne vois pas bien comment mettre en oeuvre.</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2018-05-08T10:08:11Z https://files.spip.org/Critere-mots#comment496830 2018-05-08T10:08:11Z <p>Il y a deux points différents : <br>- comment tu stocke les mot clefs pour chaque utilisateur. La piste champ extra est une piste possible, à mon avis la plus pertinente, mais tu pourrais aussi associer des mots clefs aux utilisateurs.<br class="autobr"> Inconvénient et avantage des deux solutions :<br class="autobr"> L'avantage de champ extra est que l'interface sans doute plus simple à mettre en place côté publique (juste un formulaire), et les données seraient stockées sous forme de tableau, donc plus simple pour ta future requete. L'inconvénient est que pour le moment la saisie « Mot clefs » ne permet pas de saisir plusieurs mot clefs. A priori cela ne devrait pas être hyper compliqué de l'adapter, mais il faut quand même un peu de temps. Je te propose de le faire toi même, ou de poser la question sur le forum du plugin saisies si tu ne t'en sent pas les compétences.- <br>- comment tu t'en sert pour ensuite afficher un contenu personnalisé. Le plugin critères mots te permettra de faire cela.</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2018-05-08T09:55:52Z https://files.spip.org/Critere-mots#comment496828 2018-05-08T09:55:52Z <p>J'ai besoin des conseils de la communauté car plusieurs pistes se dessinent, mais je ne sais pas pour laquelle opter.</p> <p>OBJECTIF : les visiteurs peuvent accéder à leur profil et modifier leurs centres d'intérêts. Ceux ci se présentent dans des groupes de mots clés. Les mêmes que ceux attribués aux articles, les boucles articles et evenements seront par la suite adaptées pour que chaque auteur/visiteur recoivent un contenu perso.</p> <p>- j'ai ajouté un champs extra 'mot clé' sur la table auteur, mais impossible de faire des choix multiples (ai-je mal vu<small class="fine d-inline"> </small>? est ce possible<small class="fine d-inline"> </small>?).</p> <p>- autre possibilité : faut il opter pour un champs extra 'input' qui recevra une array des choix persos de l'auteur et seront envoyés sur la table via :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code> $preferences = implode(',', $preferences); $set = array( 'preferences ' => $preferences , ); sql_updateq( "spip_auteurs", $set, (...)</code></pre></div> <p>- mes recherches m'ont mené sur ce plugin 'critère mot' , serait il une autre piste exploitable<small class="fine d-inline"> </small>?</p> <p>Je cherche le plus simple et efficace, mais j'avoue que je suis un peu perdu....</p> <p>Merci de votre aide.</p> <table class="table spip"> <tbody> <tr class="row_odd odd"> <td>K</td></tr> </tbody> </table> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2017-10-06T05:51:34Z https://files.spip.org/Critere-mots#comment493642 2017-10-06T05:51:34Z <p>Bonjour,<br class="autobr"> J'utilise ce plugin, mais je rencontre un problème, je m'explique :<br class="autobr"> Je travaille avec deux groupes de mots clés : groupe1 et groupe2 <br>- Pour groupe1 sont des case a coché et on peut sélectionner un ou plusieurs mots <br>- Pour groupe2 c'est juste une liste déroulant<br class="autobr"> Voici mon formulaire :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code> <BOUCLE_groupes(GROUPES_MOTS){id_groupe=1}> <ul> <h4>#TITRE</h4> <BOUCLE_mots(MOTS){id_groupe}{par titre}><li> <span class="logotheme"> </li><label>#TITRE</label><input type="checkbox" name="mots[0]" value="#ID_MOT" /></span></li> </BOUCLE_mots> </ul> </BOUCLE_groupes> <select name="mots[1]"> <option value=""> Votre choix</option> <BOUCLE_select_grp(GROUPES_MOTS){id_groupe=2}> <BOUCLE_motg(MOTS){id_groupe}{par titre}> <option value="#ID_MOT">#TITRE </option> </BOUCLE_motg> </BOUCLE_select_grp> </select></code></pre></div> <p>Si je choisis un mot dans groupe1 et un dans le groupe 2, le résultat s'affiche correctement....Par contre si je choisis plusieurs mots dans le groupe1(case cochet), le résultat est erroné</p> <p>Voici la boucle du résultat</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><B_articles> <h2>#GRAND_TOTAL </h2> <ul> <BOUCLE_articles(ARTICLES) {recherche?} {!par #ENV{tri,points}} {mots?}> <li><a href="#URL_ARTICLE">#TITRE</a></li> </BOUCLE_articles> </ul> </B_articles> <h2><em>Pas de résultat trouvé</em></h2> <//B_articles></code></pre></div> <p>En gros sont les case a cochet qui pose probléme<br class="autobr"> Merci de votre aide</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2017-06-23T15:29:30Z https://files.spip.org/Critere-mots#comment492643 2017-06-23T15:29:30Z <p>Bon, voilà qui devrait résoudre ce point :<br class="autobr"> <a href="https://zone.spip.org/trac/spip-zone/changeset/104950" class="spip_url spip_out auto" rel="nofollow external">https://zone.spip.org/trac/spip-zone/changeset/104950</a></p> <p>Note : ça marche chez moi.</p> <div class="precode"><pre class="spip_code spip_code_block language-spip" dir="ltr" style="text-align:left;" data-language="spip"><code><BOUCLE_circuits(XXXS) {id_xxx ?} {mots_selon_id? 100% #ENV{mots}} {mots_selon_id? 1 #ENV{mots_ou_1}} {mots_selon_id? 1 #ENV{mots_ou_2}} {mots_selon_id? 1 #ENV{mots_ou_3}} {recherche ?} {","} ></code></pre></div> <p>Où : <br>- <code class="spip_code spip_code_inline" dir="ltr">mots</code> est une liste optionnelle d'identifiants de mots où je fais des ET systématiques entre eux <br>- <code class="spip_code spip_code_inline" dir="ltr">mots_ou_n</code> est une liste optionnelle d'identifiants ou je fais des OU entre eux.</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2017-06-23T12:31:41Z https://files.spip.org/Critere-mots#comment492635 2017-06-23T12:31:41Z <p>Quelque chose me dit qu'il faudrait incrémenter dans <code class="spip_code spip_code_inline" dir="ltr">critere_mots_dist()</code> la variable <code class="spip_code spip_code_inline" dir="ltr">$mots_where</code> à chaque usage du critère dans une même boucle.</p> <p>Si on savait la position du critère dans la boucle, ça suffirait d'ailleurs comme suffixe.</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2016-12-05T16:16:54Z https://files.spip.org/Critere-mots#comment490075 2016-12-05T16:16:54Z <p>Utilisation de <i>mots</i> dans un include.</p> <p>Je souhaite utiliser ce critères <i>mots<small class="fine d-inline"> </small>?</i> dans un fichier include.</p> <p>inclusion : [(#INCLURE<i>fond=inc_ressource_mot_and</i> <i>id_rubrique=#ENV<i>idrubrique</i></i><i>recherche</i><i>id_mot</i><i>id_auteur</i><i>env</i><i>ajax</i>)]</p> <p>Boucle dans le include : <br class="autobr"> </p> <p>- peut-on mettre un<small class="fine d-inline"> </small>? comme pour un autre critère optionnel<small class="fine d-inline"> </small>? <br>- à première vue il ne comprend pas si on ajoute simplement <i>id_mot</i> à l'include. Faut-il refaire le tableau id_mot<small class="fine d-inline"> </small>?</p> <p>Merci de votre aide. <br class="autobr"> Julien</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2016-12-02T08:57:55Z https://files.spip.org/Critere-mots#comment490021 2016-12-02T08:57:55Z <p>Oui, <code class="spip_code spip_code_inline" dir="ltr">{!id_mot=XX}</code> est parfois piégeux. Pour des boucles de recherches, notamment, j'ai dû utiliser <code class="spip_code spip_code_inline" dir="ltr">{!titre_mot=exclure}</code> pour avoir le résultat voulu. Ce n'est pas l'idéal mais ça fonctionne.</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2016-12-02T04:57:04Z https://files.spip.org/Critere-mots#comment490018 2016-12-02T04:57:04Z <p>Les joies de l'informatique<small class="fine d-inline"> </small>!</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2016-12-01T21:13:10Z https://files.spip.org/Critere-mots#comment490017 2016-12-01T21:13:10Z <p>pourtant je t'ai donné en 4 heure la réponse pour revenir à l'ancien systeme…</p> <p>et franchement ton cas est à mon avis vraiment exceptionnel…</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2016-12-01T21:00:54Z https://files.spip.org/Critere-mots#comment490016 2016-12-01T21:00:54Z <p>Bonjour Maïeul,</p> <p>J'ai du recoder en urgence le site en utilisant un autre système suite à la défaillance du plugin<br class="autobr"> Je vais le réutiliser et te donnerais un retour<br class="autobr"> Merci pour la mise à jour</p> <p>Bien cordialement</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2016-12-01T16:50:00Z https://files.spip.org/Critere-mots#comment490012 2016-12-01T16:50:00Z <p>Testé et approuvé. 👍</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2016-12-01T15:48:38Z https://files.spip.org/Critere-mots#comment490006 2016-12-01T15:48:38Z <p>un petit retour sur la version 4.0.0<small class="fine d-inline"> </small>? apparemment ce n'était pas si urgent que cela…</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2016-12-01T15:48:04Z https://files.spip.org/Critere-mots#comment490005 2016-12-01T15:48:04Z <p>la version 4.0.1 corrige cela, elle devrait être disponible vers 18h.</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2016-12-01T14:50:44Z https://files.spip.org/Critere-mots#comment490003 2016-12-01T14:50:44Z <p>Bonjour.</p> <p>Sur mon site de tests, après passage de la version 3.0.1 à 4.0.0, et sur une page utilisant le critère mots, j'ai le contenu de l'array qui s'affiche au-dessus du doctype (et sur la page<small class="fine d-inline"> </small>!) :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>array(14) { [0]=> string(5) "13192" [1]=> string(5) "13210" [2]=> string(5) "13218" […] [12]=> string(5) "13365" [13]=> string(5) "13594" }</code></pre></div> <p>Les strings correspondent bien aux articles (publiés ou non) ayant le mot-clé demandé. Je n'ai pas vu d'autre problème : le reste de la page s'affiche correctement.</p> <p>SPIP 3.1.3, PHP 5.3.3 (Je sais, je dois demander à notre hébergeur de faire un upgrade…)</p> <p>Joyeux décembre<small class="fine d-inline"> </small>!</p> <p>1138.</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2016-11-23T23:13:50Z https://files.spip.org/Critere-mots#comment489920 2016-11-23T23:13:50Z <p>bon, j'ai pu me dégager du temps. La version 4.0.0 évite ce problème tout en optimisant la requete (ou plus précisement, en contournant un bug de mysql 5)</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2016-11-22T09:17:49Z https://files.spip.org/Critere-mots#comment489904 2016-11-22T09:17:49Z <p>mettre</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>define ('_CRITERE_MOTS_OPTIMISE',0);</code></pre></div> <p>dans mes_options.php. Cela rebasculera sur l'ancien système, plus lent mais visiblement fonctionnel. Désolé mais je peux pas m'occuper de voir comment utiliser le système optimisé avant dimanche.</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2016-11-22T06:12:03Z https://files.spip.org/Critere-mots#comment489903 2016-11-22T06:12:03Z <p>Up up relance urgent, site foutu sans<small class="fine d-inline"> </small>!id_mot=<small class="fine d-inline"> </small>; normalement il devrait y avoir des centaines de milliers de sites foutus suite à cette maj, avec des boucles qui séléctionnent n'importe quoi</p> <p>Une autre manière d'exclure un mot d'une boucle en attendant que celui-ci refonctionne<small class="fine d-inline"> </small>?</p> <p>Merci d'avance</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2016-11-21T16:59:37Z https://files.spip.org/Critere-mots#comment489902 2016-11-21T16:59:37Z <p>oui, les requetes SQL sont plus rapides. C'était du reste le but de l'optimisation.</p> <p>Faut que je vois pour la question du critère <code class="spip_code spip_code_inline" dir="ltr">{!id_mot}</code>, mais celui-ci est déjà piègeux dans certains cas.</p> <p>Bref, je vais essayer de voir cela ce week-end. N'hésite pas àme relancer si besoin.</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2016-11-21T13:09:58Z https://files.spip.org/Critere-mots#comment489899 2016-11-21T13:09:58Z <p>Bonjour,</p> <p>Depuis la maj vers plugin SPIP critère mots 3.0.1 le critère <i><small class="fine d-inline"> </small>!id_mot</i> ne fonctionne plus</p> <p>Fait planter le site, erreur SQL :</p> <div class="precode"><pre class="spip_code spip_code_block language-spip" dir="ltr" style="text-align:left;" data-language="spip"><code><BOUCLEa(MONOBJET){!id_mot=5}{mots}></code></pre></div> <p>Le critère<small class="fine d-inline"> </small>!id_mot n'est pas pris en compte :</p> <div class="precode"><pre class="spip_code spip_code_block language-spip" dir="ltr" style="text-align:left;" data-language="spip"><code><BOUCLEa(MONOBJET){mots}{!id_mot=5}></code></pre></div> <p>On dirait en revanche que les requêtes SQL sont plus rapides.</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2016-11-04T14:36:44Z https://files.spip.org/Critere-mots#comment489731 2016-11-04T14:36:44Z <p>Ça marche au poil. 👍</p> <p>Merci<small class="fine d-inline"> </small>!</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2016-10-30T11:48:28Z https://files.spip.org/Critere-mots#comment489673 2016-10-30T11:48:28Z <p>lA version 3.0.1 corrige ce bug, qui concerne uniquement les versions de PHP < 5.4</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2016-10-29T14:41:22Z https://files.spip.org/Critere-mots#comment489665 2016-10-29T14:41:22Z <p>Je vous ai envoyé les phpinfo par mail ... et je viens de tester sur une nouvelle installation, sans autre plugin, histoire de trouver l'éventuel « coupable », et avec tous les reports activés.</p> <p>Il se passe exactement la même chose : plantage puis rien.</p> <p><small class="fine d-inline"> </small>???</p> <p>En scannant les logs, j'ai trouvé ceci dans spip.log</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>Activer le plugin « @plugin@ » (version : @version@) : variables inutilisees version_maj</code></pre></div> <p>Suivi de</p> <p><code class="spip_code spip_code_inline" dir="ltr">redirige 302 : http://www.enviroboite.net/test/ecrire/?exec=admin_plugin&action=actionner&redirect=http%3A%2F%2Fwww.enviroboite.net%2Ftest%2Fecrire%2F%3Fexec%3Dadmin_plugin</code></p> <p>Je ne sais pas si cela peut aider<small class="fine d-inline"> </small>?</p> <p>Je vous envoie les logs par mail.</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2016-10-29T13:51:42Z https://files.spip.org/Critere-mots#comment489664 2016-10-29T13:51:42Z <p>imprimer en PDF et m'envoyer un courriel monprenom@monprenom.net</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2016-10-29T13:46:34Z https://files.spip.org/Critere-mots#comment489663 2016-10-29T13:46:34Z <p>Oui, j'y ai pensé ... mais il faut que je trouve la fenêtre de temps.</p> <p>En attendant, j'ai les 2 phpinfos en version html, comment vous les faire parvenir<small class="fine d-inline"> </small>?</p> <p>Faire un zip des 2 et le renommer en png<small class="fine d-inline"> </small>? C'est peut-être moyen pour le fil si cela passe ...</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2016-10-29T12:22:53Z https://files.spip.org/Critere-mots#comment489660 2016-10-29T12:22:53Z <p>effectivement des details serait pas mal.</p> <p>Mais sinon installer spip dans un sous dossier le temps des tests<small class="fine d-inline"> </small>?</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2016-10-29T12:21:27Z https://files.spip.org/Critere-mots#comment489659 2016-10-29T12:21:27Z <p>Le problème se produit sur un site en production.</p> <p>La même configuration SPIP (version, plugins installés) sur mon serveur local ne pose aucun problème.</p> <p>Activer toutes les erreurs sur le site en production et le planter est un peu délicat ...</p> <p>En revanche, les 2 configurations APACHE sont différentes.<br class="autobr"> Je peux vous donner le détails.</p> <p>Url en ligne : http: // www . enviroboite . net</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2016-10-29T07:17:45Z https://files.spip.org/Critere-mots#comment489652 2016-10-29T07:17:45Z <p>il faudrait voir si le fait de mettre</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>define('_INTERDIRE_COMPACTE_HEAD_ECRIRE', 1); define('SPIP_ERREUR_REPORT',E_ALL); error_reporting(E_ALL^E_NOTICE);</code></pre></div> <p>dans <code class="spip_code spip_code_inline" dir="ltr">mes_options.php</code> affiche des messages d'erreurs spécifiques.</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2016-10-29T07:11:47Z https://files.spip.org/Critere-mots#comment489651 2016-10-29T07:11:47Z <p>il faudrait voir s'il y a pas de conflit avec d'autres plugins. Chez moi aucun souci pour activer.</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2016-10-28T20:58:15Z https://files.spip.org/Critere-mots#comment489649 2016-10-28T20:58:15Z <p>J'ai refait une tentative :</p> <ol class="spip"><li> Désinstaller la version 2.6</li><li> Vider les caches</li><li> Logs détailles</li><li> Installer version 3.0</li></ol> <p>Rien à faire : tout plante, le site devient totalement inaccessible côté public et côté privé.</p> <p>Je n'ai rien trouvé dans les logs ... ceci étant, SPIP plante dès l'activation.</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2016-10-28T15:16:22Z https://files.spip.org/Critere-mots#comment489640 2016-10-28T15:16:22Z <p>En effet, ce n'est pas vraiment corrigé : elle a viré la version 3.0.0 par FTP 😉. J'ai fait pareil et remis la 2.1.6…</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2016-10-28T14:55:40Z https://files.spip.org/Critere-mots#comment489637 2016-10-28T14:55:40Z <p>Vero n'indique pas comment elle a corrigé…</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2016-10-28T14:51:53Z https://files.spip.org/Critere-mots#comment489635 2016-10-28T14:51:53Z <p>J'ai eu exactement le même problème que Vero avec un Spip 3.0.24, et je l'ai corrigé de la même manière qu'elle.</p> <p>J'essayerai après ce long weekend sur le site de dev (3.1.3).</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2016-10-28T10:25:14Z https://files.spip.org/Critere-mots#comment489623 2016-10-28T10:25:14Z <p>Merci pour la rapidité de la réponse<small class="fine d-inline"> </small>!<br class="autobr"> Je vais attendre une heure de moindre activité pour reprendre calmement cette tentative.<br class="autobr"> Quoiqu'il arrive, je reviens vers vous pour le bilan.</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2016-10-28T10:04:47Z https://files.spip.org/Critere-mots#comment489620 2016-10-28T10:04:47Z <p>A priori cette mise à jour devrait plutôt être bénéfique. Il faudrait voir quelle est la boucle qui pose souci. Vider le cache aussi. Et activer les logs détaillés pour plus de détails. Voir le dernier paragraphe de cet article : <a href="http://www.spip.net/fr_article4453.html" class="spip_url spip_out auto" rel="nofollow external">http://www.spip.net/fr_article4453.html</a></p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2016-10-28T09:56:20Z https://files.spip.org/Critere-mots#comment489619 2016-10-28T09:56:20Z <p>Bonjour,</p> <p>La mise à jour de la version 2.1.6 à 3.0.0 sur un spip 3.1.3 plante complètement le site (obligé de supprimer le répertoire du plugin en ftp ...)</p> <p>Le problème se produit sur le site en production, en revanche, la mise à jour ne me pose aucun problème sur une copie locale.</p> <p>Je n'ai aucune traces dans les logs. Problème version PHP, MySQL<small class="fine d-inline"> </small>???</p> <p>Merci pour vos lumières ... et pour ce plugin.</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2016-10-21T09:35:00Z https://files.spip.org/Critere-mots#comment489480 2016-10-21T09:35:00Z <p>il n'est techniquement pas possible d'avoir un critère qui produise ta requete, du à des limites du compilateur de SPIP (ou alors à mes propres limite), mais la version 3.0.0 du plugin produit une requete qui contourne le bug de mysql.</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>SELECT articles.titre, articles.id_article, articles.lang FROM <code class="spip_code spip_code_inline" dir="ltr">mu_localhost</code>.spip_articles AS <code class="spip_code spip_code_inline" dir="ltr">articles</code> INNER JOIN <code class="spip_code spip_code_inline" dir="ltr">mu_localhost</code>.spip_mots_liens AS mots_liens ON ( mots_liens.id_objet = articles.id_article AND mots_liens.objet='article') WHERE (articles.statut = 'publie') AND ((mots_liens.id_mot=1) OR (mots_liens.id_mot=2) OR (mots_liens.id_mot=3) OR (mots_liens.id_mot=4) OR (mots_liens.id_mot=5) OR (mots_liens.id_mot=6) OR (mots_liens.id_mot=7) OR (mots_liens.id_mot=8) OR (mots_liens.id_mot=9) OR (mots_liens.id_mot=10)) GROUP BY articles.id_article HAVING COUNT(mots_liens.id_objet) >= 10</code></pre></div> <p>à la place de</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>SELECT articles.id_article, articles.titre, articles.lang FROM <code class="spip_code spip_code_inline" dir="ltr">mu_localhost</code>.spip_articles AS <code class="spip_code spip_code_inline" dir="ltr">articles</code> WHERE (articles.statut = 'publie') AND articles.id_article IN ( SELECT id_objet FROM <code class="spip_code spip_code_inline" dir="ltr">mu_localhost</code>.spip_mots_liens WHERE id_mot=1 and objet='article' OR id_mot=2 and objet='article' OR id_mot=3 and objet='article' OR id_mot=4 and objet='article' OR id_mot=5 and objet='article' OR id_mot=6 and objet='article' OR id_mot=7 and objet='article' OR id_mot=8 and objet='article' OR id_mot=9 and objet='article' OR id_mot=10 and objet='article' GROUP BY id_objet,objet HAVING SUM(1) >= 10 )</code></pre></div> <p>La première requete est cent fois plus rapide que la seconde.</p> <p>A noter que la lenteur est du à un bug de mysql, résolu dans les nouvelles versions (6.x) <a href="https://bugs.mysql.com/bug.php?id=32665" class="spip_url spip_out auto" rel="nofollow external">https://bugs.mysql.com/bug.php?id=32665</a></p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2016-10-18T09:39:38Z https://files.spip.org/Critere-mots#comment489432 2016-10-18T09:39:38Z <p>bon, je viens de retomber sur cette comparaison. <br class="autobr"> La différence tient principalement à la question de <code class="spip_code spip_code_inline" dir="ltr">SUM(1) >= 3</code>. Ceci est lié au paramètre de boucle qui permet de faire la recherche y compris s'il n'y a pas 100<small class="fine d-inline"> </small>% des mots qui sont affecté à l'objet.</p> <p>Etant donné que ce cas est facilement detectable, on pourrait effectivement mettre un comportement différent pour gagner en vitesse.</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2016-10-18T09:27:53Z https://files.spip.org/Critere-mots#comment489431 2016-10-18T09:27:53Z <p>salut,<br class="autobr"> je viens de voir ton message. Comme cela je ne sais pas. Il me faudrait vraiment une base de test et un formulaire pour y voir plus clair.</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2016-09-01T19:32:52Z https://files.spip.org/Critere-mots#comment488792 2016-09-01T19:32:52Z <p>Bonjour,</p> <p>Je rencontre un problème de réantrance.<br class="autobr"> Je m'explique : je veux :</p> <ul class="spip"><li> avoir 3 listes de mots sélectionnables (cases à cocher)</li><li> récupérer les événements qui ont au moins un mot de chaque liste (ou pas de filtre sur cette liste si aucun mot n'est sélectionné dans une liste)</li></ul> <p>Autrement dit, un filtre à la LDLC.com</p> <p>Côté formulaire, c'est bon<small class="fine d-inline"> </small>!</p> <p>Côté boucle, en lisant la doc, j'en ai conclus que</p> <div class="precode"><pre class="spip_code spip_code_block language-spip" dir="ltr" style="text-align:left;" data-language="spip"><code><BOUCLE_Evt2(EVENEMENTS) {par date_debut} {mots? 0 #ENV{motstheme}} {mots? 0 #ENV{motscible}} {mots? 0 #ENV{motszone}} ></code></pre></div> <p>devrait marcher.</p> <p>Le Code SQL généré est <strong>presque</strong> bon, à un détail près : il prend en compte 3 fois les mots sélectionnés dans la 3<sup class="typo_exposants">e</sup> liste :</p> <div class="precode"><pre class="spip_code spip_code_block language-php" dir="ltr" style="text-align:left;" data-language="php"><code>SELECT evenements.id_evenement, evenements.date_debut, evenements.titre FROM spip_evenements AS <code class="spip_code spip_code_inline" dir="ltr">evenements</code> WHERE (evenements.statut = 'publie') AND evenements.id_evenement IN ( SELECT id_objet FROM spip_mots_liens WHERE id_mot=27 and objet='evenement' OR id_mot=31 and objet='evenement' GROUP BY id_objet,objet HAVING SUM(1) >= 0 ) AND evenements.id_evenement IN ( SELECT id_objet FROM spip_mots_liens WHERE id_mot=27 and objet='evenement' OR id_mot=31 and objet='evenement' GROUP BY id_objet,objet HAVING SUM(1) >= 0 ) AND evenements.id_evenement IN ( SELECT id_objet FROM spip_mots_liens WHERE id_mot=27 and objet='evenement' OR id_mot=31 and objet='evenement' GROUP BY id_objet,objet HAVING SUM(1) >= 0 ) ORDER BY evenements.date_debut</code></pre></div> <p>J'ai essayer de regarde le code du critère, mais je ne sais pas pourquoi $quoi n'est pas pris en compte pour différencier les 3 IN (SELECT...</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2015-03-14T20:33:09Z https://files.spip.org/Critere-mots#comment480276 2015-03-14T20:33:09Z <p>il y a le formulaire deja proposé, mais ce n'est pas mois l'auteur ... je ne sais pas je n'ai pas trop le tps en ce moment ...</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2015-03-14T20:29:28Z https://files.spip.org/Critere-mots#comment480275 2015-03-14T20:29:28Z <p>Bonjour Maïeul, <br class="autobr"> je ne suis pas parvenu à faire fonctionner le formulaire CVT demo/parmots, aussi je n'ai pu utiliser <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> que grâce à tes explications dans ce forum. Donc oui mon article pour « débutant CVT », n'a pas de rapport exclusif avec <code class="spip_code spip_code_inline" dir="ltr">{mots}</code>, mais ce serait bien d'avoir (et j'espère parvenir à) un ou des formulaires CVT fonctionnelles pour <code class="spip_code spip_code_inline" dir="ltr">{mots}</code>, non<small class="fine d-inline"> </small>?</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2015-03-07T18:12:57Z https://files.spip.org/Critere-mots#comment480092 2015-03-07T18:12:57Z <p>je ne saisi pas le rapport entre votre problème et l'article. L'un parle de <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> l'autre de CVT.</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2015-03-07T13:52:54Z https://files.spip.org/Critere-mots#comment480091 2015-03-07T13:52:54Z <p>Bonjour, <br class="autobr"> oui pourquoi<small class="fine d-inline"> </small>? je me suis plongé calmement dans cet ardu code, avec la doc officiel, et des infos glanées sur le net (d'autres tournent sur le pb), et beaucoup de persévérance je commence à y comprendre un petit peu qcq chose. Je propose <a href="http://contrib.spip.net/Formulaire-b-a-ba-Charger" class="spip_out" rel='nofollow external'>cette article</a> pour les débutants (je l'ai publié, comme ébauche wiki de contribution pédagogique, il m''a été personnellement utile de le faire, mais je ne me vexerai pas si on juge que c'est trop simple et succin)</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2015-03-05T20:09:38Z https://files.spip.org/Critere-mots#comment479988 2015-03-05T20:09:38Z <p>Bonjour, <br class="autobr"> m'agace, ça marche (liens ci-dessus, code ci-dessous) mais, <strong>pourquoi<small class="fine d-inline"> </small>?!</strong><br class="autobr"> (et toute mes tentatives de faire autrement, de décomposer le pb, se solde par des échecs. Pourtant ça devrait pas marcher avec name=mots[] pour tous les checkbox<small class="fine d-inline"> </small>?...)<br class="autobr"> le code (qui marche) :</p> <div class="precode"><pre class="spip_code spip_code_block language-spip" dir="ltr" style="text-align:left;" data-language="spip"><code><form class="form-inline" role="form" method="get" action="#SELF"> [(#SELF|parametre_url{mots,''}|form_hidden)] <BOUCLE_mots1(MOTS){id_groupe=1} {par num titre} {2,11} > <label class="checkbox-inline" for="mot#ID_MOT"> <input type="radio" class="checkbox" name="mots[]" id="mot#ID_MOT" value="#ID_MOT"[(#ENV{mots}|find{#ID_MOT}|oui) checked="checked"] /> #TITRE</label> </BOUCLE_mots1> <!-- type="checkbox" type="radio" --> <BOUCLE_mots4(MOTS){id_groupe=4} {par num titre}{", "}> <label class="checkbox-inline" for="mot#ID_MOT"> <input type="checkbox" class="checkbox" name="mots[]" id="mot#ID_MOT" value="#ID_MOT"[(#ENV{mots}|find{#ID_MOT}|oui) checked="checked"] /> #TITRE</label> </BOUCLE_mots4> <p class="boutons"> <input type="submit" class="submit" value="<:bouton_chercher:>" /></p> </form> [(#REM) Albums trouves ] <BOUCLE_albums(ALBUMS) {mots} {branche?} {0,100} {pagination 10}> ...</code></pre></div> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2014-12-06T21:05:57Z https://files.spip.org/Critere-mots#comment478359 2014-12-06T21:05:57Z <p>Bonjour, <br class="autobr"> un mixte des 2 cas précédents : sélection selon 2 groupes de mots clés avec des cases à cocher. Pour le 1<sup class="typo_exposants">er</sup> groupe un seul mot peut être choisi, pour le 2<sup class="typo_exposants">d</sup> on peut en choisir plusieurs. <a href="http://bleaulib.org/spip.php?page=recherche_blocs" class="spip_out" rel='nofollow external'>recherche_blocs</a> . cool<small class="fine d-inline"> </small>! merci Maïeul</p> <p>Le critére <code class="spip_code spip_code_inline" dir="ltr">{mot}</code> se traduit donc par des <strong>&</strong> sur les mots clés sélectionnés <br class="autobr"> Dois-je abandonner son utilisation pour essayer de faire des « <strong>ou</strong> »<small class="fine d-inline"> </small>? comme le ferait : <br class="autobr"> <code class="spip_code spip_code_inline" dir="ltr"><BOUCLE_objets(OBJETS) {id_mot IN gpe1} {id_mot IN gpe2}></code><br class="autobr"> (avec <code class="spip_code spip_code_inline" dir="ltr">{mot}</code> selectionner Enfant + Caramel abouti à 0 résultat car un <a href="http://bleaulib.org/spip.php?page=circuits" class="spip_out" rel='nofollow external'>circuit</a> ne peut pas être les 2 . J'ai vainement longuement essayé de faire sortir ceux qui était l'un <strong>ou</strong> l'autre, l'idée me semblait de renvoyer 2 #GET, un pour le gpe1 et un pour le gpe2 , mais je m'en sors pas, (et c'est déjà pas si mal comme ça<small class="fine d-inline"> </small>! ) mais si vous avez des suggestions, doc plus concrète que programmer.spip , des exemples plus simple à décrypter que page=demo/parmots (qui ne marche pas), je suis preneur.</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2014-09-30T17:07:19Z https://files.spip.org/Critere-mots#comment477195 2014-09-30T17:07:19Z <p>Merci Maïeul, c'est exactement ce qu'il me fallait, ça marche niquel. Encore merci<small class="fine d-inline"> </small>!</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2014-09-29T23:58:06Z https://files.spip.org/Critere-mots#comment477190 2014-09-29T23:58:06Z <p>si j'ai bien compris ton besoin, alors dans la parti optionell utilise</p> <p><code class="spip_code spip_code_inline" dir="ltr">[(#ENV{mots}|oui) texte à afficher si le formulaire a bien été rempli mais ne fournit pas de résultat]</code>.</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2014-09-29T22:17:02Z https://files.spip.org/Critere-mots#comment477188 2014-09-29T22:17:02Z <p>Bonsoir,</p> <p>Alors j'ai testée le critère optionnel en remplaçant <i>mots</i> par <i>mots<small class="fine d-inline"> </small>?</i> cela semble fonctionner, mais je n'ai pas le résultat attendu.<br class="autobr"> En faite, je veux afficher par défaut toutes les brèves, puisque le formulaire reste optionnel (sinon les visiteurs ne vont pas comprendre pourquoi ils arrivent sur une page vide).</p> <p>Or, si j'utilise le critère <i>mots<small class="fine d-inline"> </small>?</i> vu qu'aucun paramètre n'est passé en environnement quand on arrive sur la page, et bien je me retrouve effectivement avec une page vide.<br class="autobr"> Par contre ça fonctionne bien, si jamais je lance une recherche sur le formulaire pour sélectionner par exemple des « chatons » «<small class="fine d-inline"> </small>mâles<small class="fine d-inline"> </small>» et qu'il y en a pas cela ne rend aucun résultat. Cependant, j'aimerais alors afficher toutes les brèves, mais en précisant que la recherche n'a pas donnée de résultat (histoire que les visiteurs ne pensent pas qu'il y a un problème avec le formulaire).</p> <p>Avec le code alternatif de la balise /B>, j'arrive à afficher par défaut l'ensemble de mes brèves, le formulaire est fonctionnel, cependant, si je lance une recherche qui ne donne aucun résultat, j'ai alors toutes mes brèves qui s'affichent (jusque là c'est ce que je veux) MAIS je n'ai pas possibilité de laisser un message pour dire que la recherche n'a aboutie sur aucun résultat (car si je mets ce message dans mon code alternatif, alors il apparaît aussi quand les visiteurs arrivent sur la page, sans même avoir utiliser le formulaire).</p> <p>Je sais pas si je suis claire dans mes explications, mais je ne vois pas tellement comment solutionner ce soucis.</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2014-09-19T11:50:10Z https://files.spip.org/Critere-mots#comment477011 2014-09-19T11:50:10Z <p>a ben si mon code utilise le plugin : c'est le critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code>. je ne suis pas responsable de la création du formulaire en question, et j'ignore comment il fonctionne.</p> <p>Pour ta question, les critères de spip peuvent avoir un <code class="spip_code spip_code_inline" dir="ltr">?</code>, ce qui signifie qu'ils sont optionnels : si les paramètres nécessaires sont passés en environnement, alors le critère est utilisé, sinon non. Voir <a href="http://programmer.spip.net/Criteres-optionnels" class="spip_url spip_out auto" rel="nofollow external">http://programmer.spip.net/Criteres-optionnels</a>.</p> <p>Donc dans ton cas : <code class="spip_code spip_code_inline" dir="ltr">{mots?}</code></p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2014-09-18T19:23:10Z https://files.spip.org/Critere-mots#comment476996 2014-09-18T19:23:10Z <p>C'est encore moi.</p> <p>J'ai trouvée la réponse à ma dernière question.</p> <p>Pour afficher par défaut toute les brèves j'ai utilisées un code alternatif avec la balise /B_nom_de_ma_boucle>, j'ai juste retirée le critère « mots » sur cette boucle qui est strictement identique à la première.<br class="autobr"> Par contre, du coup, si je n'obtiens aucun résultat (imaginons que l'utilisateur cherche un chaton mâle et qu'il n'y en a pas, du coup le résultat affiche toutes les brèves).</p> <p>Du coup je ne pense pas que ce soit la solution idéale, car il faudrait que par défaut cela affiche toutes les brèves, mais que si le formulaire ne donne aucun résultat, cela affiche toutes les brèves, mais en affichant aussi un message du type « Aucun résultat » pour que l'utilisateur ne pense pas que le formulaire ne fonctionne pas.</p> <p>Du coup je ne sais pas comment procéder. Une idée<small class="fine d-inline"> </small>?</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2014-09-17T15:15:34Z https://files.spip.org/Critere-mots#comment476981 2014-09-17T15:15:34Z <p>Un grand Merciiii Maïeul pour ton aide<small class="fine d-inline"> </small>! (En plus tu es super réactif<small class="fine d-inline"> </small>!)</p> <p>Du coup si je comprends bien, avec ta solution on utilise pas le plugin enfin de compte<small class="fine d-inline"> </small>? En tout cas je ne vois pas la balise qui s'y rapporte<small class="fine d-inline"> </small>?</p> <p>Concernant mon formulaire, effectivement en l'état il n'était pas fonctionnel, je l'avais fais juste pour voir ce que ça donnerait sur la page web en question. Puis, de toute façon, je n'aurais pas su qu'il fallait utiliser la boucle SELF, les formulaires c'est effectivement pas ma spécialité comme tu peux constater. lol</p> <p>En gros, moi je me cassais les dents sur ça « [(#FORMULAIRE_RECHERCHE_PAR_MOTS)] » pensant que ce serait la clé de mon problème.</p> <p>Du coup encore merci pour le code, car non seulement il fonctionne mais en plus c'est bien expliqué pour que je comprenne (et puisse le réutiliser si besoin).</p> <p>J'aurais encore une question, comment afficher sur ma page par défaut toutes les brèves<small class="fine d-inline"> </small>?<br class="autobr"> En gros, ce que je souhaite, c'est que si l'utilisateur n'utilise pas le formulaire (et donc ne passe pas de mot clef en URL), toutes les brefs soient par défaut afficher sur la page.<br class="autobr"> Le formulaire ayant pour but juste de faire une sélection pour facilité les recherches de l'utilisateur, mais il reste facultatif.</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2014-09-16T13:12:43Z https://files.spip.org/Critere-mots#comment476970 2014-09-16T13:12:43Z <p>Commençons par le formulaire. Je te conseille très fortement de lire une documentation sur comment fonctionnent les formulaires en HTML, parce que là ton formulaire, en l'état, ne peux rien faire.</p> <p>deja, virons le ajax, pour le moment. On verra cela plus tard.</p> <p>Ensuite, il faut que le formulaire poste quelque part, donc</p> <p><code class="spip_code spip_code_inline" dir="ltr"><form method="get" action="#SELF"></code></p> <p>On va repasser également tous les paramètres de la page, sauf mots qui change d'une fois sur l'autre. Pour cela on utilise le filtre |form_hidden appliqué sur un #SELF (url de la page) lui même filtré du paramètre « mots » :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>[(#SELF|parametre_url{mots,''}|form_hidden)]</code></pre></div> <p>Il faut enfin préciser la variable où sera transmis la valeur de chaque menu déroulant, en l'occurance « mots[] » : <code class="spip_code spip_code_inline" dir="ltr"><select name="mots[]"></code>. Reste ensuite à indiquer la valeur passé pour chaque option du select : <code class="spip_code spip_code_inline" dir="ltr"><option value="#ID_MOT">#TITRE</option></code>.</p> <p>En affinant un peu pour permettre que le formulaire propose de ne pas choisir dans un mot et utilise les précédentes valeurs comme valeurs par défaut, on obtient le formulaire suivant :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><form method="get" action="#SELF"> Vous recherchez... [(#SELF|parametre_url{mots,''}|form_hidden)] <B_triesexe> <select name="mots[]"> <option value=""></option> <BOUCLE_triesexe(MOTS) {type=sexe} > <option [(#ENV{mots}|find{#ID_MOT}|oui) selected="selected"] value="#ID_MOT">#TITRE</option> </BOUCLE_triesexe> </select> </B_triesexe> <B_trieage> <select name="mots[]"> <option value=""></option> <BOUCLE_trieage(MOTS) {type=age}> <option [(#ENV{mots}|find{#ID_MOT}|oui) selected="selected"] value="#ID_MOT">#TITRE</option> </BOUCLE_trieage> </select> </B_trieage> <input type='submit' /> </form></code></pre></div> <p>(Bon, il faudrait affiner pour avoir une structure html correcte. Voir <a href="http://www.spip.net/fr_article3791.html" class="spip_url spip_out auto" rel="nofollow external">http://www.spip.net/fr_article3791.html</a>.</p> <p>Reste ensuite à passer le critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><B_breves> <ul> <BOUCLE_breves(BREVES) {id_rubrique} {!par date}{mots}> <li class="adoption"> <div class="breveleft"> <a href="#URL_BREVE">[(#LOGO_BREVE|image_reduire{190,0}|image_recadre{140,140,center})]</a> </div> <div class="breveright"> [<a href="#URL_BREVE"><span class="titre_chat">(#TITRE)<span></a>] [<span><strong>Sexe :</strong> (#LISTER_VALEURS{sexe})</span>] [<span><strong>Date de naissance :</strong> (#DATE_NAISSANCE|date_relative)</span>] [<span><strong>Lieu :</strong> (#LIEU)</span>] [<span>(#COURT_DESCRIPTIF)</span>] </div> <div class="nettoyeur"></div> </li> </BOUCLE_breves> </ul> </B_breves></code></pre></div> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2014-09-16T12:04:08Z https://files.spip.org/Critere-mots#comment476967 2014-09-16T12:04:08Z <p>Bonjour,</p> <p>J'ai besoin de ce plugins pour insérer un formulaire de recherche sur un site que je suis en train de réaliser.<br class="autobr"> Voilà un bon moment que je me casse les dents dessus.</p> <p>Mon objectif :<br class="autobr"> Sur une page réunissant plusieurs brèves, je souhaite que les visiteurs puissent effectuer un trie de ces brèves selon les mots clefs qu'ils auront choisie.<br class="autobr"> J'ai 3 groupes de mots clefs et je souhaite que le trie soit effectué selon deux de ces groupes (le troisième me servant ailleurs, mais pas dans ce cas présent).<br class="autobr"> Mes deux groupes comportes chacun plusieurs mots clefs :<br class="autobr"> Il y a le groupe « Age » qui a pour mots clefs : « chaton », « junior », « adulte », « senior ».<br class="autobr"> Et le groupe « Sexe » qui a pour mots clefs : « mâle » et « femelle »</p> <p>Les visiteurs peuvent ne choisir que l'un des deux groupes s'il le souhaite (par exemple il recherche un chaton, mais n'ont pas de préférence sur le sexe), ou les deux (si par exemple ils recherchent précisement un chat adulte femelle).</p> <p>Je veux donc que sur un même page, par défaut toutes les brèves s'affichent, et que si le visiteur le désire, un tri soit effectué selon ses critères et que cela recharge la liste des brèves sur cette même page.</p> <p>Pour afficher mes brèves j'ai ce code :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><B_breves> <ul> <BOUCLE_breves(BREVES) {id_rubrique} {!par date}}> <li class="adoption"> <div class="breveleft"> <a href="#URL_BREVE">[(#LOGO_BREVE|image_reduire{190,0}|image_recadre{140,140,center})]</a> </div> <div class="breveright"> [<a href="#URL_BREVE"><span class="titre_chat">(#TITRE)<span></a>] [<span><strong>Sexe :</strong> (#LISTER_VALEURS{sexe})</span>] [<span><strong>Date de naissance :</strong> (#DATE_NAISSANCE|date_relative)</span>] [<span><strong>Lieu :</strong> (#LIEU)</span>] [<span>(#COURT_DESCRIPTIF)</span>] </div> <div class="nettoyeur"></div> </li> </BOUCLE_breves> </ul> </B_breves></code></pre></div> <p>Et mon formulaire ressemblerait à quelque chose comme ça (il n'est pas fonctionnel pour le moment) :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>Vous recherchez... <div class='ajax'> <form> <select> <BOUCLE_triesexe(MOTS) {type=sexe} ><option>#TITRE</option></BOUCLE_triesexe> </select> <select> <BOUCLE_trieage(MOTS) {type=age}><option>#TITRE</option></BOUCLE_trieage> </select> <input type='submit' name='ok' value='ok' /> </form> </div></code></pre></div> <p>J'ai essayée toute sorte de chose pour faire fonctionner le plugin critère mot, sans résultat.<br class="autobr"> Juste pour info j'utilise SPIP 3.</p> <p>Et après vérification sur la page de démo du plugins, je peux choisir parmi mes 3 groupes de mots clefs (Age, Sexe et Date adoption - ce dernier groupe ne m'étant pas utile sur cette page -), mais ensuite, une fois un groupe sélectionné, je ne peux pas choisir de mot clef y correspondant (j'ai juste un « mot clef même groupe » affiché).</p> <p>Donc voilà ou j'en suis, si vous pouvez apporter de l'aide (et des explications) je suis preneuse, parce que là, je suis complètement bloquée et désespérée. Snif<small class="fine d-inline"> </small>!</p> <p>Merci par avance.</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2014-08-01T14:33:44Z https://files.spip.org/Critere-mots#comment476385 2014-08-01T14:33:44Z <p>C'est super<small class="fine d-inline"> </small>!!</p> <p>J'ai ajouté <code class="spip_code spip_code_inline" dir="ltr">{id_rubrique}</code> pour permettre de faire la recherche uniquement dans la rubrique que je souhaite et le tour est joué.</p> <p>Un grand merci<small class="fine d-inline"> </small>! :D</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2014-08-01T13:47:43Z https://files.spip.org/Critere-mots#comment476384 2014-08-01T13:47:43Z <p>oui, parce que dans mes testes suite au fait que le plugin n'était pas activé, j'ai oublié le<small class="fine d-inline"> </small>? dans <code class="spip_code spip_code_inline" dir="ltr">{mots?}</code>.</p> <p>Ca devrait aller mieux comme cela.</p> <p>Et maintenant, la réponse de l'exercice<small class="fine d-inline"> </small>;-)</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2014-08-01T12:35:15Z https://files.spip.org/Critere-mots#comment476383 2014-08-01T12:35:15Z <p>Super<small class="fine d-inline"> </small>! Plus de message d'erreur<small class="fine d-inline"> </small>!</p> <p>Une fois le mot clé sélectionné, la liste apparait bien.<br class="autobr"> Par contre, vous disiez plus haut que ce code doit faire apparaitre tous les articles si aucun mot clé n'est sélectionné, ce n'est pas le cas.</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2014-08-01T11:44:53Z https://files.spip.org/Critere-mots#comment476381 2014-08-01T11:44:53Z <p>a mais oui,</p> <p>c'est le code</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>[(#ID_MOT|in_array{#ENV{mots}}|oui) checked="checked"]</code></pre></div> <p>qui est mauvais. Le but c'est de tester si le mot courant se trouve dans la liste des mots du précédent formulaire. Si oui, on coche la case.</p> <p>Mais sauf que ca va pas.</p> <p>Et donc la doc sur #ARRAY que vous avez trouvé donne la solution. Désolé un peu fatigué (et chez moi les messages d'erreurs sont désactivés.</p> <p>La solution est de remplacer par :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>[(#ENV{mots}|find{#ID_MOT}|oui) checked="checked"]</code></pre></div> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2014-08-01T09:17:15Z https://files.spip.org/Critere-mots#comment476378 2014-08-01T09:17:15Z <p>J'ai trouvé ceci dans <a href="http://www.spip.net/fr_article4009.html" class="spip_out" rel='nofollow external'>cet article spip sur #ARRAY</a> (dans les notes de bas de page) :</p> <p>«<small class="fine d-inline"> </small>|find correspond à la fonction PHP in_array, à la différence que ce filtre ne produit pas le message d'erreur "Warning : in_array() [function.in-array] : Wrong datatype for second argument." si la variable n'est finalement pas un tableau. En effet, lorsqu'une variable est générée dynamiquement, on ne sait pas toujours si elle existera et s'il s'agira bien d'un tableau.<small class="fine d-inline"> </small>»</p> <p>Ca parle de mon problème, mais par contre, ça dépasse mes compétences là<small class="fine d-inline"> </small>!</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2014-08-01T07:02:36Z https://files.spip.org/Critere-mots#comment476377 2014-08-01T07:02:36Z <p>Excusez moi de la réponse tardive...<br class="autobr"> PHP Version 5.2.17</p> <blockquote class="spip"> <p>ne surtout jamais modifié le dossier squelette.</p> </blockquote> <p>Pas d'inquiétude, je ne modifie pas le dossier squelette dist, mais j'insère mes squelettes dans un dossier squelettes personnels :)</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2014-07-31T16:30:23Z https://files.spip.org/Critere-mots#comment476375 2014-07-31T16:30:23Z <p>quelle version de PHP (allez dans <code>http://urldusite/ecrire/?exec=info pour savoir).</code></p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2014-07-31T16:24:01Z https://files.spip.org/Critere-mots#comment476374 2014-07-31T16:24:01Z <p>Ca y est presque<small class="fine d-inline"> </small>!<br class="autobr"> Juste ceci apparait au dessus de ma liste a choix multiple :</p> <p><code class="spip_code spip_code_inline" dir="ltr"> Warning: in_array() [function.in-array]: Wrong datatype for second argument in /home/<toto>/www/ecrire/public/composer.php(69) : eval()'d code on line 45</code></p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2014-07-31T16:19:45Z https://files.spip.org/Critere-mots#comment476373 2014-07-31T16:19:45Z <p>videz le cache le cas échéant ...</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2014-07-31T16:17:35Z https://files.spip.org/Critere-mots#comment476372 2014-07-31T16:17:35Z <p>ne surtout jamais modifié le dossier squelette.</p> <p>A tout hasard, le plugin est bien activé<small class="fine d-inline"> </small>?</p> <p>Sinon pour SPIP 2.1, il faut mettre</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><B_mots> <div class="formulaire_spip formulaire_recherche_mot"> <form method="post" action="#SELF"> [(#SELF|form_hidden)] <ul> <BOUCLE_mots(MOTS spip_mots_articles){par titre}{id_article>0}> <li> <label for="mot#ID_MOT">#TITRE</label> <input type="checkbox" class="checkbox" name="mots[]" id="mot#ID_MOT" value="#ID_MOT"[(#ID_MOT|in_array{#ENV{mots}}|oui) checked="checked"] /> </li> </BOUCLE_mots> </ul> <p class="boutons"><input type="submit" class="submit" value="<:bouton_enregistrer:>" /></p> </form> </div> </B_mots> <B_articles> <ul> <BOUCLE_articles(ARTICLES){mots}{par titre}> <li><a href="#URL_ARTICLE">#TITRE</a></li> </BOUCLE_articles> </ul> </B_articles></code></pre></div> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2014-07-31T16:03:42Z https://files.spip.org/Critere-mots#comment476371 2014-07-31T16:03:42Z <p>SPIP 2.1.23</p> <p>Et j'ai mis le code dans le fichier « recherche_par_mots.html » dans mon dossier squelettes. J'ai même testé de le mettre dans le dossier plugin directement. Rien à faire. J'ai l'impression que le critère « mots » n'est pas accepté<small class="fine d-inline"> </small>! A chaque fois ça me renvoi un bug<small class="fine d-inline"> </small>!</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2014-07-31T15:55:55Z https://files.spip.org/Critere-mots#comment476370 2014-07-31T15:55:55Z <p>heu, je vous assure que j'ai testé cela avant de vous envoyé.</p> <p>Quelle config de SPIP avez vous<small class="fine d-inline"> </small>? où avez vous mis le code<small class="fine d-inline"> </small>?</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2014-07-31T15:51:00Z https://files.spip.org/Critere-mots#comment476369 2014-07-31T15:51:00Z <p>Aie... déjà erreur à la 1<sup class="typo_exposants">e</sup> ligne<small class="fine d-inline"> </small>!<br class="autobr"> Spip m'indique :</p> <p>1 Erreur(s) dans le squelette (...)<br class="autobr"> Critère inconnu = _mots</p> <p>Et sinon, tous les articles de mon site apparaissent.</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2014-07-31T15:37:28Z https://files.spip.org/Critere-mots#comment476368 2014-07-31T15:37:28Z <p>Bon, alors on va faire une chose simple : je vous donne un code qui marche. Ce qu'il fait :</p> <p>- lister les mots clefs avec case à cocher <br>- afficher les articles avec ces mots clefs, sauf si aucun mot clefs n'a été choisi, dans ce cas il affiche tout.</p> <p>Vous testez ce code, et ensuite vous me faite un retour en m'indiquant lignes par lignes ce que fait le code. Comme cela je vous fournis un code déjà prêt ET en plus vous vous formez.</p> <p>Avec la doc de base de SPIP + du plugins + notions de HTML vous devrez le comprendre. Et sinon vous posez des questions.</p> <div class="precode"><pre class="spip_code spip_code_block language-spip" dir="ltr" style="text-align:left;" data-language="spip"><code><B_mots> <div class="formulaire_spip formulaire_recherche_mot"> <form method="post" action="#SELF"> [(#SELF|form_hidden)] <ul> <BOUCLE_mots(MOTS){par titre}{objet=article}> <li> <label for="mot#ID_MOT">#TITRE</label> <input type="checkbox" class="checkbox" name="mots[]" id="mot#ID_MOT" value="#ID_MOT"[(#ID_MOT|in_array{#ENV{mots}}|oui) checked="checked"] /> </li> </BOUCLE_mots> </ul> <p class="boutons"><input type="submit" class="submit" value="<:bouton_enregistrer:>" /></p> </form> </div> </B_mots> <B_articles> <ul> <BOUCLE_articles(ARTICLES){mots?}{par titre}> <li><a href="#URL_ARTICLE">#TITRE</a></li> </BOUCLE_articles> </ul> </B_articles></code></pre></div> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2014-07-31T14:55:43Z https://files.spip.org/Critere-mots#comment476367 2014-07-31T14:55:43Z <p>Plutôt débutante<small class="fine d-inline"> </small>! <br class="autobr"> J'arrive à faire quelques boucles simples pour appeler des articles ou des documents dans mes squelettes mais je me base souvent sur les codes fournis pour essayer de les comprendre.</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2014-07-31T14:35:21Z https://files.spip.org/Critere-mots#comment476366 2014-07-31T14:35:21Z <p>quelles connaissances SPIP avez vous<small class="fine d-inline"> </small>?</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2014-07-31T14:31:28Z https://files.spip.org/Critere-mots#comment476365 2014-07-31T14:31:28Z <p>Bonjour, petit up pour ce post.<br class="autobr"> Je souhaiterais moi aussi pouvoir avoir une liste à cocher plutôt qu'un/deux menu(s) déroulant et pouvoir choisir en même temps dans deux listes de mots clés. Les explications fournies ne suffisent pas à mon niveau<small class="fine d-inline"> </small>!<br class="autobr"> Pourrais-je avoir plus d'explications<small class="fine d-inline"> </small>?</p> <p>Et pour ajouter une difficulté, je souhaiterais que d'abord tous les articles (de la rubrique concernée par ma recherche) apparaissent dans la page et qu'ensuite en sélectionnant les mots clés, la sélection devienne plus restrictive. Alors qu'actuellement seule la sélection de mots fait apparaitre une liste d'articles, en commençant par une page vide.</p> <p>J'espère être assez claire.<br class="autobr"> Merci d'avance.</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2014-04-24T13:02:01Z https://files.spip.org/Critere-mots#comment475098 2014-04-24T13:02:01Z <p>Oups petite erreur de lien dans mon commentaire précédent : <a href='https://files.spip.org/Afficher-les-articles-connexes-tries-par-pertinence' class="spip_in" rel='nofollow'>Afficher les articles connexes, triés par pertinence</a>...</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2014-04-09T15:42:41Z https://files.spip.org/Critere-mots#comment474875 2014-04-09T15:42:41Z <p>Bien vu b_b, c'était ça<small class="fine d-inline"> </small>! <br class="autobr"> Merci beaucoup<small class="fine d-inline"> </small>;)</p> <p>(Bon du coup, aucun rapport avec le plugin, désolé pour le bruit ^^)</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2014-04-09T15:40:21Z https://files.spip.org/Critere-mots#comment474874 2014-04-09T15:40:21Z <p>Hop, « il suffit de nommer le critère pagination », par exemple <code class="spip_code spip_code_inline" dir="ltr">{pagination 15 #ID_TRUC}</code>, cf :</p> <p><a href="http://www.spip.net/fr_article3367.html#pagination" class="spip_url spip_out auto" rel="nofollow external">http://www.spip.net/fr_article3367.html#pagination</a></p> <p>Ça devrait fixer le pb<small class="fine d-inline"> </small>;)</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2014-04-09T15:38:04Z https://files.spip.org/Critere-mots#comment474873 2014-04-09T15:38:04Z <p>ca veut dire quoi elle affecte tout le bloc de résultat<small class="fine d-inline"> </small>?</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2014-04-09T15:25:40Z https://files.spip.org/Critere-mots#comment474872 2014-04-09T15:25:40Z <p>Bonjour,</p> <p>Je rencontre un problème très étrange de <strong>pagination erratique sur boucle imbriquée avec critère_mots</strong>.</p> <p>Je suis sur une page <strong>mot.html </strong> <br class="autobr"> revue pour lister tous les articles d'une certaine rubrique, classés par familles.</p> <p>Mes familles sont dans un <strong>autre groupe de mot-clé</strong></p> <p>Une première boucle récupère le nom d'une famille,<br class="autobr"> Une seconde boucle imbriquée, récupère les article tagué à la fois par l'id_mot sur lequel on se trouve ET l'id_mot de la famille remontée par le premier niveau.</p> <p>Tout fonctionne sauf la pagination. Si j'essaie d'utiliser la pagin sur un des blocs de résultats, en fait elle affecte TOUS les blocs de résultats.</p> <p>Le code :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><BOUCLE_mot_principal(MOTS){id_mot}> <h1>#TITRE</h1> <BOUCLE_familles(MOTS){id_groupe = 19}{par num titre}> <BOUCLE_affiche_famille(ARTICLES){id_rubrique=2}{mots 100% #ARRAY{0,#_mot_principal:ID_MOT,1,#_familles:ID_MOT}}{0,1}> <h3 class="header">#_familles:TITRE</h3> </BOUCLE_affiche_famille> [(#REM) Listes des formations mot + famille <!-- INCLURE{fond=liste/formations-resume,env}/ --> ] [(#REM) Articles de la rubrique Formations lies au mot-cle ] <B_list_formations> #ANCRE_PAGINATION <BOUCLE_list_formations(ARTICLES){id_rubrique=2}{mots 100% #ARRAY{0,#_mot_principal:ID_MOT,1,#_familles:ID_MOT}}{par num titre}{pagination 4}> [<div class="h3"><a rel="bookmark" href="[(#URL_ARTICLE|url_absolue)]">(#TITRE)</a></div>] </BOUCLE_list_formations> <p class="pagination">#PAGINATION{page_precedent_suivant}</p> </B_list_formations> <p>Pas de formation disponible</p> <//B_list_formations> <div class="clear"></div> </BOUCLE_familles> </BOUCLE_mot_principal></code></pre></div> <p>Si quelqu'un a une idée de où ca merdoie...</p> <p>Merci d'avance<small class="fine d-inline"> </small>;)</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2014-04-04T14:23:18Z https://files.spip.org/Critere-mots#comment474804 2014-04-04T14:23:18Z <p>je confirme avoir essayé cet exemple chez moi avant de te l'envoyer. Et même si les crochets sont encodés dans l'URL cela n'empêche pas le bon fonctionnement du critère.</p> <p>Du reste tu n'a qu'à vérifer en faisant <code class="spip_code spip_code_inline" dir="ltr">[(#ENV{mots}|var_dump)]</code> > tu verra que tu a bien affaire à un tableau.</p> <p>Ton pb doit venir d'ailleur, mais de quoi<small class="fine d-inline"> </small>?</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2014-04-04T13:54:48Z https://files.spip.org/Critere-mots#comment474803 2014-04-04T13:54:48Z <p>J'ai essayé avec cet exemple. Les crochets ne passent pas plus. Il sont systématiquement encodé en %5B et %5D dans l'Url. Test fait en local et sur serveur. Si quelqu'un a une piste....</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2014-04-03T18:08:03Z https://files.spip.org/Critere-mots#comment474789 2014-04-03T18:08:03Z <p>les crochets ne sont pas responsables du problème. Ils sont normaux.</p> <p>Le pb doit venir d'ailleurs. Exemple là sur une page toto.html</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><form method="get"> <input type="hidden" name="page" value="toto" /> <B_mots> <select name="mots[1]"> <BOUCLE_mots(MOTS){par titre}> <option value="#ID_MOT">#TITRE</option> </BOUCLE_mots> </select> </B_mots> <BOUCLE_articles(ARTICLES){mots}{par titre}> #TITRE </BOUCLE_articles> <input type="submit" value="chercher" name="ok"> </form></code></pre></div> <p>Fonctionne parfaitement.</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2014-04-03T13:49:17Z https://files.spip.org/Critere-mots#comment474782 2014-04-03T13:49:17Z <p>Merci, cela appelle en effet la bonne page mais les crochets restent transformés dans l'URL ( &mots<strong>%5B</strong>2<strong>%5D</strong>=1), du coup la page résultats ne donne toujours rien.</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2014-04-03T13:37:02Z https://files.spip.org/Critere-mots#comment474779 2014-04-03T13:37:02Z <p>il faut que tu mette l'url de page en hidden</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><input type="hidden" name="page" value="recherche3" /></code></pre></div> <p>le fait d'être en zpip ne change rien à la question.</p> <p>(bon dans l'idéal faudrait faire un vrai form propre sous la forme de CVT)</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2014-04-03T08:19:24Z https://files.spip.org/Critere-mots#comment474770 2014-04-03T08:19:24Z <p>Pour la rubrique, cela fonctionne, erreur d'étourderie ma part, il fallait mettre <i>id_secteur=XXX</i>, car les articles étaient dans des sous rubrique de la rubrique en question. Mais pour le passage des variables à l'URL, je ne vois pas comment faire...</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2014-04-03T07:13:17Z https://files.spip.org/Critere-mots#comment474769 2014-04-03T07:13:17Z <p>Merci du retour rapide.</p> <p>La méthode get me renvoie à la page d'accueil car l'url créée donne ceci :</p> <blockquote class="spip"> <p>spip.php<small class="fine d-inline"> </small>?mots%5B0%5D=12&mots%5B1%5D=17&mots%5B2%5D=2&ok=chercher</p> </blockquote> <p>Sinon oui, j'ai bien mis le numéro de rubrique.<br class="autobr"> Petite précision, le site fonctionne avec zpip, cela peut éventuellement expliquer ces problèmes<small class="fine d-inline"> </small>?</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2014-04-02T15:26:51Z https://files.spip.org/Critere-mots#comment474760 2014-04-02T15:26:51Z <p>1. Sans être expert en la question, je pense que tu devrait remplacer <code class="spip_code spip_code_inline" dir="ltr">method="post"</code> par <code class="spip_code spip_code_inline" dir="ltr">method="get"</code>. Cela passera correctement les variables à l'URL. <br class="autobr"> 2. <code class="spip_code spip_code_inline" dir="ltr">{id_rubrique=XXX}</code> tu as bien remplacé XXX par la rubrique où tu veux limiter<small class="fine d-inline"> </small>?</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2014-04-02T14:50:21Z https://files.spip.org/Critere-mots#comment474758 2014-04-02T14:50:21Z <p>Voici le formulaire :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><form action="spip.php?page=recherche3" method="post" name="mot" > <select name="mots[0]"> <BOUCLE_gr1(GROUPES_MOTS){id_groupe=4}> [<option>#TITRE</option>] <BOUCLE_mots4(MOTS){id_groupe}> <option value="#ID_MOT">#TITRE</option> </BOUCLE_mots4> </BOUCLE_gr1> </select> <select name="mots[1]"> <BOUCLE_gr2(GROUPES_MOTS){id_groupe=5}> [<option>#TITRE</option>] <BOUCLE_mots5(MOTS) {id_groupe}> <option value="#ID_MOT">#TITRE</option> </BOUCLE_mots5> </BOUCLE_gr2> </select> <select name="mots[2]"> <BOUCLE_gr3(GROUPES_MOTS){id_groupe=6}> [<option>#TITRE</option>] <BOUCLE_mots6(MOTS) {id_groupe}> <option value="#ID_MOT">#TITRE</option> </BOUCLE_mots6> </BOUCLE_gr3> </select> <input type="submit" value="chercher" name="ok"> </form></code></pre></div> <p>Et voici la page de résultats :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><BOUCLE_mot(MOTS){id_mot in #ENV{mots}}>#TITRE </BOUCLE_mot> <B_recherche_par> <div classe="liste"> <h3><:resultats_recherche:></h3> <ul class="liste-items"> <BOUCLE_recherche_par(ARTICLES){mots}{pagination 5}> <li class="item"> <a href="#URL_ARTICLE">#TITRE</a> </li> </BOUCLE_recherche_par> </ul> <p id="pagination" class="clearfix pagination nettoyeur"> #PAGINATION </p><!-- #pagination --> </div> </B_recherche_par> </code></pre></div> <p>J'ai deux problèmes :</p> <p>1. Le formulaire passe les mots via #ENV à la page de résultats (et les mots sont affichés sur cette page) mais les articles ne s'affichent pas, sauf si j'écris dans l'URL "&mot[]=10&mot[1]=3...</p> <p>2. Si j'ajoute <code class="spip_code spip_code_inline" dir="ltr">{id_rubrique=XXX}</code> à ma boucle « recherche_par », il n' a plus de résultat.</p> <p>Merci de toute lumière<small class="fine d-inline"> </small>!</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2014-04-02T14:20:39Z https://files.spip.org/Critere-mots#comment474757 2014-04-02T14:20:39Z <p>Salut,</p> <p>Je lis ton message un peu tardivement...</p> <p>Tu trouveras une ancienne technique similaire (ancienne aussi) ici : <a href='https://files.spip.org/spip.php?page=article&#38;id_article=1538#new' rel='nofollow'>article 1538</a> et qui est détaillée pour un usage similaire au critère mots ici : <a href="http://thread.gmane.org/gmane.comp.web.spip.user/165524/focus=165539" class="spip_url spip_out" rel='nofollow external'>http://thread.gmane.org/gmane.comp....</a>.</p> <p>Pour moi, ça s'est avéré environ 10x plus rapide à l'exécution que critère mots... Toutefois c'est moins souple (ou plus difficile à manipuler).</p> <p>Voici le code :</p> <div class="precode"><pre class="spip_code spip_code_block language-spip" dir="ltr" style="text-align:left;" data-language="spip"><code>[ (#REM) Une première boucle qui prépare une pile avec doublons nommée liste_0 (Ici on peut rajouter des critères si on veut choisir des articles en particulier à filtrer avec des mots) Ça peut marcher aussi pour d'autres boucles que ARTICLES... ] <BOUCLE_Une_pile(ARTICLES){doublons liste_0} ></BOUCLE_Une_pile> [ (#REM) Ensuite pour chaque mot de mon tableau... "ma_liste_de_mots" contient une liste de mots qui servent de filtres ] <BOUCLE_Les_mots(MOTS){id_mot IN #GET{ma_liste_de_mots}}> [(#SET{moinsun,[(#_Les_mots:COMPTEUR_BOUCLE|moins{1})]})] [ (#REM) on choisi parmi les articles de la pile précédente (liste_x où x est compteur_boucle-1) les articles qui sont rattachés au mot. Et on les empile avec un doublons dans la pile suivante (liste_y où y=compteur de boucle) ] <BOUCLE_les_articles_du_mot(ARTICLES){id_mot} {!doublons liste_#GET{moinsun}} {doublons liste_#_Les_mots:COMPTEUR_BOUCLE} ></BOUCLE_les_articles_du_mot> </BOUCLE_Les_mots> [ (#REM) Au final, on a une pile (nommée liste_z où z=nombre de tour de boucle "Les_mots") qui contient bien seulement les articles qui ont tous les mots du tableau C'est ce que liste la boucle d'après. (ça peut être l'occasion de les trier d'une façon ou d'une autre...) ] <BOUCLE_Articles_empile(ARTICLES){!doublons liste_#_Les_mots:COMPTEUR_BOUCLE}> #TITRE<br> </BOUCLE_Articles_empile></code></pre></div> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2014-04-02T12:48:31Z https://files.spip.org/Critere-mots#comment474752 2014-04-02T12:48:31Z <p>le critère s'appliquant à une boucle, il suffit de mettre le critère classique <code class="spip_code spip_code_inline" dir="ltr">{id_rubrique=XXX}</code> sur cette boucle.</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2014-04-02T12:44:40Z https://files.spip.org/Critere-mots#comment474751 2014-04-02T12:44:40Z <p>Bonjour,</p> <p>Est-il possible de limiter le résultat de la recherche à une rubrique<small class="fine d-inline"> </small>? La solution donnée sur le post du 27 mai 2011 à 15:59 ne semble pas fonctionner.</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2014-03-26T23:59:55Z https://files.spip.org/Critere-mots#comment474649 2014-03-26T23:59:55Z <p>ce plugin de fou...</p> <p>J'ai passé des centaines d'heures pour réaliser divers moteurs multicritères ces dernières années. Et ce soir je tombe sur ce plugin, tout fait, tout simple, tout bête et en 5m<sup class="typo_exposants">n</sup> j'ai un moteur qui fonctionne...</p> <p>Pourquoi j'avais jamais cherché avant<small class="fine d-inline"> </small>??? Pourquoi<small class="fine d-inline"> </small>???</p> <p>Merci<small class="fine d-inline"> </small>!!!!</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2014-03-25T10:20:16Z https://files.spip.org/Critere-mots#comment474611 2014-03-25T10:20:16Z <p>OK je vais creuser par là alors. Je sais pas pourquoi je m'étais immaginé un truc plus compliqué. Je vais voir ça, merci :)</p> Critère <code class="spip_code spip_code_inline" dir="ltr">{mots}</code> 2014-03-18T18:04:14Z https://files.spip.org/Critere-mots#comment474488 2014-03-18T18:04:14Z <p>je comprend rien à tes propos...</p> <p>c'est pas compliqué l'ajax avec spip : <code class="spip_code spip_code_inline" dir="ltr"><INCLURE{toto}{ajax}{env}></code>. Il suffit juste que ton form de select des mots clef soit dans toto et ca roule ...</p>