Articles connexes, par pertinences, avec {mots} - commentairesArticles connexes, par pertinences, avec <code class="spip_code spip_code_inline" dir="ltr">{mots}</code>2013-07-27T01:39:15Zhttps://files.spip.net/Articles-connexes-par-pertinences-avec-mots#comment4697762013-07-27T01:39:15Z<p>Tout est arrangé, bravo<small class="fine d-inline"> </small>! J'ai même réussi à faire une boucle d'images connexes. Ce plugin permet vraiment d'exploiter au mieux les mots-clés. Merci<small class="fine d-inline"> </small>!</p>Articles connexes, par pertinences, avec <code class="spip_code spip_code_inline" dir="ltr">{mots}</code>2013-07-26T10:43:53Zhttps://files.spip.net/Articles-connexes-par-pertinences-avec-mots#comment4697512013-07-26T10:43:53Z<p>Merci, j'attends la nouvelle version pour le retour<small class="fine d-inline"> </small>!</p>Articles connexes, par pertinences, avec <code class="spip_code spip_code_inline" dir="ltr">{mots}</code>2013-07-26T10:42:03Zhttps://files.spip.net/Articles-connexes-par-pertinences-avec-mots#comment4697502013-07-26T10:42:03Z<p>Par contre, ligne 9 (Boucle des auteurs connexes) on peut ajouter un <code class="spip_code spip_code_inline" dir="ltr">{!id_auteur=#ID_AUTEUR}</code> pour éviter d'afficher l'auteur de la page en cours, ce qui au final donne (avec l'ancre pagination)</p>
<div class="precode"><pre class="spip_code spip_code_block language-spip" dir="ltr" style="text-align:left;" data-language="spip"><code>[(#REM) Auteurs dont les articles sont connexes ] #SET{mots,#ARRAY}
<BOUCLE_articlesauteur(ARTICLES){id_auteur}>
<BOUCLE_motsconnexes(MOTS){id_article}> #SET{mots,#GET{mots}|push{#ID_MOT}} </BOUCLE_motsconnexes>
</BOUCLE_articlesauteur>
<BOUCLE_articlesconnexes(ARTICLES){mots 1 #GET{mots}!tri}>
<BOUCLE_auteurconnexes(AUTEURS){!id_auteur=#ID_AUTEUR}{id_article}{doublons auteurs}></BOUCLE_auteurconnexes>
</BOUCLE_articlesconnexes> <B_tt_auteurconnexes>
<div class="menu">
#ANCRE_PAGINATION
<h2><:auteursconnexes:></h2>
<ul> <BOUCLE_tt_auteurconnexes(AUTEURS){!doublons auteurs}{!doublons auteurs}{par nom}{pagination 10}>
<li><a href="#URL_AUTEUR" [ class="(#EXPOSE)"]>#NOM</a></li>
</BOUCLE_tt_auteurconnexes> </ul>
[<p class="pagination">(#PAGINATION)</p>]
</div>
</B_tt_auteurconnexes></code></pre></div>Articles connexes, par pertinences, avec <code class="spip_code spip_code_inline" dir="ltr">{mots}</code>2013-07-26T10:36:24Zhttps://files.spip.net/Articles-connexes-par-pertinences-avec-mots#comment4697492013-07-26T10:36:24Z<p>par ailleurs :
<br>- tu devrais (pour plus de lisibilité) mettre une espace avant le<small class="fine d-inline"> </small>!
<br>- il faut corriger la ligne 11 : <code class="spip_code spip_code_inline" dir="ltr"><a href="#URL_AUTEUR">#NOM</a></code>.</p>Articles connexes, par pertinences, avec <code class="spip_code spip_code_inline" dir="ltr">{mots}</code>2013-07-26T10:34:54Zhttps://files.spip.net/Articles-connexes-par-pertinences-avec-mots#comment4697472013-07-26T10:34:54Z<p>il y avait deux bugs au niveau du plugin :
<br>- 1 lié au fait que les auteurs peuvent eux même être reliés à des objets, ce qui donnait une clause ambiguë dans le requête sql (<a href="http://zone.spip.org/trac/spip-zone/changeset/74474" class="spip_url spip_out auto" rel="nofollow external">http://zone.spip.org/trac/spip-zone/changeset/74474</a>).
<br>- 1 lié au fait que je conditionnais le calcul de la boucle à la présence d'au moins 2 éléments dans le tableau, et non pas d'1 élèment (<a href="http://zone.spip.org/trac/spip-zone/changeset/74476" class="spip_url spip_out auto" rel="nofollow external">http://zone.spip.org/trac/spip-zone/changeset/74476</a>).</p>
<p>La version 2.1.3 devrait résoudre ce pb. Le zip sera normalement prêt d'ici 13h10, et a priori à 18h et quelques via le chargeur auto de SPIP.</p>Articles connexes, par pertinences, avec <code class="spip_code spip_code_inline" dir="ltr">{mots}</code>2013-07-26T10:22:56Zhttps://files.spip.net/Articles-connexes-par-pertinences-avec-mots#comment4697442013-07-26T10:22:56Z<p>Ligne 8, le <code class="spip_code spip_code_inline" dir="ltr">{id_article!=#ID_ARTICLE}</code> est un oubli de copié-collé. Il ne sert strictement à rien dans ce cas<small class="fine d-inline"> </small>! Mais il n'empêche pas la boucle de fonctionner.</p>Articles connexes, par pertinences, avec <code class="spip_code spip_code_inline" dir="ltr">{mots}</code>2013-07-26T10:10:51Zhttps://files.spip.net/Articles-connexes-par-pertinences-avec-mots#comment4697432013-07-26T10:10:51Z<p>Je reposte, toujours concernant l'utilisation des mots connexes dans la page auteur... mais pour proposer une boucle avec anti-doublons que je viens de tester avec succès.</p>
<p>Cette fois-ci, à défaut de réussir à afficher les autres auteurs par mots connexes d'auteur, on affichera les autres auteurs par mots connexes d'articles. On reprendra donc dans un tableau tous les mots-clés associé aux articles de notre auteur test, puis on cherchera tous les articles du site qui ont les mêmes mots-clé et on affichera leurs auteurs (l'anti-doublon n'est là que pour pouvoir trier la liste obtenue comme on veut).</p>
<div class="precode"><pre class="spip_code spip_code_block language-spip" dir="ltr" style="text-align:left;" data-language="spip"><code>[(#REM) Auteurs dont les articles sont connexes ] #SET{mots,#ARRAY}
<BOUCLE_articlesauteur(ARTICLES){id_auteur}>
<BOUCLE_motsconnexes(MOTS){id_article}> #SET{mots,#GET{mots}|push{#ID_MOT}} </BOUCLE_motsconnexes>
</BOUCLE_articlesauteur>
<BOUCLE_articlesconnexes(ARTICLES){id_article!=#ID_ARTICLE}{mots 1 #GET{mots}!tri}>
<BOUCLE_auteurconnexes(AUTEURS){id_article}{doublons auteurs}></BOUCLE_auteurconnexes>
</BOUCLE_articlesconnexes> <B_tt_auteurconnexes>
<div class="menu">
<h2>Auteurs dont les articles sont connexes</h2>
<ul> <BOUCLE_tt_auteurconnexes(AUTEURS){!doublons auteurs}{par nom}>
<li><a href="#URL_AUTEUR" [ class="(#EXPOSE)"]>#NOM</a></li>
</BOUCLE_tt_auteurconnexes> </ul>
</div>
</B_tt_auteurconnexes></code></pre></div>
<p>Il y a sûrement des trucs à revoir, mais ça a l'air de fonctionner...</p>Articles connexes, par pertinences, avec <code class="spip_code spip_code_inline" dir="ltr">{mots}</code>2013-07-26T09:56:54Zhttps://files.spip.net/Articles-connexes-par-pertinences-avec-mots#comment4697412013-07-26T09:56:54Z<p>Sur SPIP 3.0.10, la version 2.1 du plugin fonctionne très bien pour les articles. Cela exige bien-sûr une gestion des mots-clés méthodique, mais du coup, on peut se passer du système de rubrique avec une pertinence accrue.</p>
<p>Par contre, je n'ai pas réussi à l'utiliser pour lister tous les auteurs connexes dans la page auteur. Pour le test, j'ai associé un mot-clé commun à deux auteurs (dont celui de la page test) et j'ai adapté la boucle comme ceci :</p>
<div class="precode"><pre class="spip_code spip_code_block language-spip" dir="ltr" style="text-align:left;" data-language="spip"><code>[(#REM) Auteurs connexes ]
#SET{mots,#ARRAY} <BOUCLE_motsconnexes(MOTS){id_auteur}> #SET{mots,#GET{mots}|push{#ID_MOT}} </BOUCLE_motsconnexes>
<B_auteursconnexes>
<div class="menu">
<h2>Auteurs connexes</h2>
<ul> <BOUCLE_auteursconnexes(AUTEURS){id_auteur!=#ID_AUTEUR}{mots 1 #GET{mots}!tri}{0,10}> <li><a href="#URL_ARTICLE">#TITRE</a></li> </BOUCLE_auteursconnexes> </ul>
</div>
</B_auteursconnexes>
</code></code></pre></div>
<p>Aurais-je fait une erreur dans mes boucles<small class="fine d-inline"> </small>?</p>