J’ai modifié quelque peu mon extension « billets précédents« . Renommée en « billets connexes » (ou related posts), elle comporte à présent trois parties :
- billets précédents
- billets suivants
- billets aléatoires
Le fonctionnement est exactement le même. Mais j’ai ajouté la possibilité de vérifier avant coup s’il y a ou non des billets précédents/suivants. En effet, quand vous arrivez au premier ou au dernier billet d’une catégorie, une des deux listes est forcément vide, ce qui n’est pas du meilleur effet, vous l’avouerez. Grâce à cette vérification, vous pourrez décider d’afficher à la place une liste aléatoire ou… rien du tout
Comment ça marche ? Exemple :
<!--s'il y a au moins un billet suivant, j'affiche la liste--> <tpl:RelatedPostIf has_next="1"> <h3>{{tpl:NextPostsTitle}}</h3> <ul> <tpl:NextPostsList> <li><a href="{{tpl:BlogURL}}post/{{tpl:NextPostsEntryUrl}}" title="{{tpl:NextPostsEntryFirstWords}}">{{tpl:NextPostsEntryTitle}}</a></li> </tpl:NextPostsList> </ul> </tpl:RelatedPostIf> <!--sinon, j'affiche la liste aléatoire--> <tpl:RelatedPostIf has_next="0"> <h3>{{tpl:RandomPostsTitle}}</h3> <ul> <tpl:RandomPostsList> <li><a href="{{tpl:BlogURL}}post/{{tpl:RandomPostsEntryUrl}}" title="{{tpl:RandomPostsEntryFirstWords}}">{{tpl:RandomPostsEntryTitle}}</a></li> </tpl:RandomPostsList> </ul> </tpl:RelatedPostIf>
Pour installer le plugin, rendez-vous sur la page idoine.
Comme d’habitude, n’hésitez pas à faire remonter des suggestions ou rapports de bogues.









54 commentaires pour : « Plugin dotclear 2 : afficher les billets connexes »
Bon, camarade,
je suis désolé…
mais je crois que sur postgre ca marche pô
http://kompozitor.test.free.fr/Chti...
Répondre
Moi j’utilise mysql et je viens de l’installer à la place du plugin previous post qui ne propose pas la possibilité d’afficher des billets de façon aléatoire.
Merci donc pour ce nouveau petit bijou !!
Répondre
Yerk yerk. Moi j’aime bien mon petit texte en fin de rubrique.
Répondre
Kompozitor : Hop, version corrigée, ça fonctionne avec postgresql à présent.
Pilou : c’est un plaisir
Aymeric : Quel dommage de ne pas rentabiliser l’espace
Répondre
Je ne vois pas trop la différence dans le code entre ce que tu donnes pour « billet précédent » et « billet suivant ». C’est strictement le même code, non ?
Répondre
OUPS ! En effet, belle boulette. Je modifie ça, merci Brol.
Répondre
Sinon, sans rapport, tu peux me donner le nom du zinzin qui gère le bandeau en bas ? Merci.
Répondre
Le zinzin ? C’est moi. Pourquoi ?
Répondre
Je parle de la bande bleue qui annonce des billets (avec un bouton « fermer »). Ne me dis pas que tu fais ça manuellement, ça doit être fatigant, nan ? ;p
Répondre
C’est bien cela. J’en ai fait un plugin :
http://apperisphere.com/blog/index….
Répondre
Tu devrais concatener l’url afin de pouvoir y inclure si on le souhaire las type « galitem » « gal » « dsg_item » « pages » je pense que tu peux t’inspire du plugin e_mail notification qui crée cette distinction, ainsi ton plug serait encore plus universel sous dotclear.
Répondre
Plugin installé !
Merci bcp pr cet excellent travail.
Juste une petite suggestion, pour les billets connexes, c’est d’afficher des billets en rapport en fonction de leur tags (je ne sais pas quel critère tu as utilisé).
@+
Répondre
totographe : Oui bonne idée. ça fera l’objet d’une 4eme option à la prochaine mise à jour
Atropos : actuellement je vais chercher tous les posts quel que soit le type. C’est vrai que je devrais le restreindre aux posts normaux. Et tant que j’y suis, pourquoi ne pas permettre de choisir le type oui.
Répondre
salut ! qu’est-ce qu’on doit mettre pour le champs « First words » ? un chiffre ? des mots clés ?
merci d’avance !
Répondre
Salut,
Le champs « first words » correspond au nombre de mots à afficher pour l’aperçu du billet. Mais il est personnalisable via l’administration à l’intitulé « Nombre de mots du résumé ».
Répondre
hmmm…à voir si je comprends bien..
alors effectivement je suis dans l’admin (en anglais), et je vois le champs à renseigner « first words », je mets, par exemple « 5″. alors est-ce que 5 mots de l’article(billet) affiché doivent se trouver également dans les articles « connexes » pour qu’ils soient affichés ? c’est ça ? donc le plus grand le chiffre, le plus strict les critères pour afficher ? et si je mets 0, tout et n’importe quoi s’affiche ?
merci encore !
Répondre
Dans le code exemple que je fournis pour mettre en place la liste dans les pages, il y a ceci :
title= »«
Cela signifie qu’en passant la souris sur le lien, une info-bulle affichera les premiers mots de l’article. Le champs « first words » détermine le nombre de mots qui sera affiché dans cette info-bulle. Donc : 1 = 1 mot, 5 = 5 mots, tout simplement
Répondre
lol, ah d’accord. curieusement, les « titles » ne s’affichent pas chez moi – alors je ne voyais pas la différence ! donc en fait, pour les « random posts » – comment sont-ils choisis ? dans la même catégorie ? parce que je cherchais vraiment une fonction pour afficher d’autres articles du même genre, de préférence basé sur mots clés et non uniquement par catégorie…
thnx
Répondre
encore moi… ou bien, sont-ils choisi par les Tags ?? parce que je viens de voir un exemple où l’article affiché se trouve aussi dans les articles « connexes » – ce qui n’est pas le but du jeu… comment éviter celà ? d’idées ?
many thanks,
-jennyb
Répondre
Oui les articles sont récupérés dans la même catégorie. Si tu veux afficher des billets en fonction des mots clés, il te faut le plugin « related by tags ».
Répondre
j’ai installé en local la version 2.04, les billets sont bien listes mais je me retrouve avec en tete de site les messages d’alertes suivants :
Notice: Undefined variable: _ctx in C:\Program Files\EasyPHP 2.0b1\www\dotclear-cuisine\plugins
elatedPosts\_public.php on line 40
Notice: Trying to get property of non-object in C:\Program Files\EasyPHP 2.0b1\www\dotclear-cuisine\plugins
elatedPosts\_public.php on line 40
Notice: Undefined variable: urls in C:\Program Files\EasyPHP 2.0b1\www\dotclear-cuisine\plugins
elatedPosts\_public.php on line 41
comprend pas puisque cela semble bien marcher…
merci pour votre aide
Répondre
Bonjour naomed,
Merci d’avoir rapporté l’erreur. A priori, c’est corrigé dans la nouvelle version proposée, la 2.05. Tiens moi au courant si ce n’est pas le cas.
Répondre
C’est sûrement une question idiote, mais – quelle classe css dois-je modifier pour modifier la façon dont les billets apparaissent ? Changer la taille de la police, ou bien encadrer le tout, par exemple ?
Répondre
Les titres des listes sont modifiables par :
h3.previousPostsTitle{}
et les listes par :
ul.previousPostsList{}
voire ul.previousPostsList a{} pour modifier directement le lien
Répondre
Merci beaucoup, je vais essayer avec ça.
C’est « previous » même si on choisit seulement les billets aléatoires ? (je suis à peu près sûre que oui, mais…
Répondre
Oui, je l’avoue, c’est previous dans tous les cas de figure
Répondre
Hello!
Tout d’abord, merci pour le plugin, c’est exactement ce que je cherchais. Par contre j’aurais voulu le modifier un peu afin d’afficher, en plus du titre du blog, le contenu de l’extrait. Comment m’y prendre? J’ai essaye d’ajouter du code dans la page post.html, mais j’ai toujours des message d’erreur. Est-ce que tu as un moyen pour que je puisse arriver a mes fins?
Merci d’avance.
Répondre
Bonjour,
le plugin permet d’afficher les premiers mots de l’article avec le code :
Répondre
ok. est-ce que c’est normal que ca n’affiche pas l’image que j’ai dans mon extrait? Parce que justement j’aimerais bien qu’elle s’affiche aussi. T’as une solution pour ca?
Merci pour ton aide!
Répondre
En fait, ce que j’affiche dans n’est pas le résumé du billet mais les premiers mots du billet. Il ne récupère que du texte car il est initialement prévu pour être affiché par l’attribut « title » du lien.
Pour l’instant, il n’y a donc pas moyen d’afficher autre chose. Mais je compte bientôt faire une mise à jour du plugin permettant d’accéder à plus d’informations sur les billets.
Pensez à installer daInstaller pour être tenue automatiquement au courant des mises à jour :
http://plugins.dotaddict.org/dc2/de...
Répondre
Bonjour,
JulienA très bien ton plugin j’aime beaucoup, cependant j’ai un petit soucis. Quand je met un nombre de mot à afficher dans le title la seul chose qui apparait c’est (…)
est-ce normal docteur ??
Répondre
Bon je ferais mieux de fermer ma bouche moi ca fonctionne je n’ai rien dit
Répondre
Re-bonjour!
J’ai telecharge la nouvelle version de ton plugin (3.0.1), et j’ai juste un petite question: j’utilise « random post » et c’est un peu dommage que le post qui est en train d’etre visite se retrouve aussi dans la liste des billets connexes… Est-ce que tu as une solution pour cela?
Merci beaucoup.
Répondre
Ah, il me semblait avoir géré ça. Je regarde et je publie une version corrigée dès que possible.
Répondre
Après vérification, ce problème ne devrait pas t’arriver. La vérification de l’id du billet est bien en place, et après plusieurs tests ici et sur ton blog, le billet en cours ne s’est jamais affiché dans la liste.
Répondre
Salut.
J’ai a nouveau verifie et j’ai revu le meme probleme plusieurs fois (par exemple ici ou la). J’ai vraiment aucune idee pourquoi ca fait cela, cest assez bizarre
Répondre
Ah, mais ça n’a pas l’air d’être le random posts, la liste ne change pas. Ce n’est pas plutôt le similar posts ? Enfin dans les deux cas c’est géré :s
Répondre
au temps pour moi, je n’avais pas désactivé le cache. C’est donc bien le random posts. Bon qq chose a du m’échapper.
Répondre
Oui c’etait bien le random post que j’utilise… Est-ce que tu as pu voir le probleme dont je parlais? En tout cas si tu as la solution, je t’ecoute avec plaisir!
Merci d’avance pour ton aide!
Répondre
J’ai essayé d’intégré dans post.html le script
<h3 class= »previousPostsTitle »> …
Résultat de beaux bugs…
Après quelle ligne doit-on intégrer le script ?
Merci
Répondre
Effectivement j’ai oublié de le préciser. En copiant la ligne après le code suivant, tu ne devrais pas avoir de pb :
{{tpl:SysBehavior behavior="publicEntryAfterContent"}}Répondre
j’ai bien suivii ton conseil mais j’ai une page bizarre avec un message comme :
« Notice: Undefined variable: _ctx in /mnt/145/sdb/7/c/stefbac/pas.perdus/plugins/previousPosts/_public.php on line 39
Notice: Trying to get property of non-object in /mnt/145/sdb/7/c/stefbac/pas.perdus/plugins/previousPosts/_public.php on line 39
Notice: Undefined variable: urls in /mnt/145/sdb/7/c/stefbac/pas.perdus/plugins/previousPosts/_public.php on line 40″
et :
« Dotclear
ERROR: column « 2008-11-06 07:48:00″ does not exist LINE 1: …_type = ‘post’ AND (P.cat_id = 35) AND post_dt < « 2008-11-0… ^
Something went wrong while loading template file for your blog. »
Répondre
Oh mais, je n’avais pas tilté. C’est le plugin « previous posts » que tu as installé ? Il est largement périmé et incomplet, prends le plugin « billets connexes » à la place.
Répondre
Ok.
J’ai suivi ton conseil en installant « billets connexes » mais j’ai droit à la même page d’erreur.
Répondre
Hello!
Toujours pas de solutions a mon probleme (expose aux posts 33 et 39)?
Au cas ou vous avez une idee, je suis toujours preneuse!
Merci beaucoup!
Répondre
Non désolé, jusqu’ici je n’ai pas réussi à reproduire le phénomène. Je posterais un commentaire ici dès que j’aurais pu régler le problème, pour que tu sois automatiquement prévenue par mail.
Répondre
Salut
Je suis chargé de la réalisation d’un site pour une association de prévention et de santé environnementale.
Ce plugin de billet connexe est très interessant, mais on me demande une chose plus précise encore.
Plutôt que d’avoir le billet suivant ou précédent, serait-il possible d’avoir les billets qui contiennent des tags similaires au billet en cours de lecture, ceci sous forme d’une petite liste comme le fait le plugin?
Merci d’avance
Répondre
Bonjour,
Voici qui tombe bien. La dernière version du plugin propose justement ce que tu demandes :
http://apperisphere.com/blog/public...
Répondre
Merci pour cet excellent plugin !
Serait-il possible de prévoir juste une phrase du style : « pas d’autre billet pour le moment dans cette catégorie » en fonction du nombre de billets à afficher ?
Répondre
Oui, je viens de l’ajouter à ma todolist.
Répondre
Je me permets d’attirer votre attention sur un petit problème dans le fichier _public.ph de votre plugin, qui a une solution ici : http://forum.dotclear.net/viewtopic.php?pid=232825#p232825
Répondre
Par contre, dès que j’utilise votre plugin, le chargement des billets dont le titre est long devient impossible. Dommage, c’est une belle idée.
Répondre
Au temps pour moi – on dirait que ce n’est pas lié à la longueur des titres, mais au fait qu’il n’y ait pas six autres billets dans la catégorie… C’est tout de même dommage. :-/
Répondre
Bonjoru
J’ai un problème après l’install du plugin dernière version sur dotclear 2.1.5 avec le thème noviny
voilà l’erreur qui s’affiche :
Fatal error: Using $this when not in object context in /homepages/38/d181610670/htdocs/inc/public/class.dc.template.php on line 297
Aurais-tu une idée du pourquoi et comment je peux arranger cela ?
En te remerciant !
Répondre