Dotclear : le plugin OtherBlog
![Paire de jumelles - 25/08/2009 - (c) mirovinben / Creative Commons [ByNcNd]](/dc2public/2009/2009_08/022090825d0436.jpg)
OtherBlog est un plugin pour Dotclear v2 qui permet d’afficher dans un blog (voir ailleurs dans certaines conditions) les titres, dates, extraits et/ou contenus des derniers billets d’un blog ou plusieurs blogs du même système “multi-blogs” géré par Dotclear…
Version la plus récente : v1.6.0.
Dernière mise à jour de ce billet : 18/07/2010.
Pour télécharger la version la plus récente, reportez-vous à la partie “Annexes” de ce billet.
OtherBlog a été créé pour la v2 de DotClear et ne fonctionne que dans le cadre d’une configuration multi-blogs où les blogs de la plate-forme ont accès à la même base de données. Il a été testé avec des bases de données MySQL et PostgreSQL…
Quoi de neuf ?
Ce qu’apporte la v1.6.0 :
- possibilité de ne filtrer que les billets ayant le statut “sélectionné”.
- correction d’un bug survenant dans certaines conditions lors d’un filtrage de catégories.
Les modifications apportées par les versions précédentes sont décrites ici.
Fonctions complémentaires
Outre un widget, OtherBlog met à votre disposition deux fonctions :
- la fonction intOtherBlog permet d’afficher la liste dans une page connexe (donc interne au multi-blog) avec nombreuses possibilités de paramétrage.
- la fonction extOtherBlog permet d’afficher la liste dans une page externe au(x) blog(s) (site portail par exemple) avec les même possibilités de réglage et sous certaines conditions :
- il est nécessaire que cette page puisse accéder à la base de données alimentant le(s) blog(s),
- elle doit appartenir au même domaine principal ou dans un sous-domaine du même domaine principal,
- PHP5 doit être actif dans le répertoire où elle se trouve.
Documentation
La documentation concernant OtherBlog est constituée de six chapitres :
- Le panneau d’administration du widget
- Les classes utilisées pour les CSS
- Codes de mise en forme (pour item et date/heure)
- Utilisation avec <tpl:Widget>
- Les fonctions intOtherBlog et extOtherBlog
- Historique des versions
Exemples
Vous pouvez également consulter mon portail et un blog de test pour voir l’utilisation d’OtherBlog en situation “réelle”.
- le portail (site non Dotclear) propose ici en haut de page le contenu du billet le plus récent de ce blog et là une liste des titres des 40 derniers billets du même blog.
- ce blog utilise OtherBlog avec le marqueur <tpl:Widget> et un filtre sur une catégorie pour la page récapitulant les photos-mystère.
- le blog de test utilise également OtherBlog en widget dans la barre latérale et propose d’autres exemples ici (utilisation de la fonction intOtherBlog) et là (utilisation du marqueur <tpl:Widget>).
Avertissement : les exemples et liens donnés dans ce paragraphe sont valides à la date de dernière mise à jour de ce billet.
Après-vente
Si vous avez des questions concernant OtherBlog, merci d’utiliser le forum dans la section qui traite de Dotclear 2… J’y rôde (très) souvent.
Si vous avez des remarques concernant ce billet (présentation, explications, erreur), alors la partie “Commentaires” est à votre disposition.



















Commentaires
Salut
tout d'abord merci pour ce plugin, je trouve que c'etait vraiment un manque a DC2
J'aimerai savoir si il est possible d'insérer ce plug au nivo des post, pluto que au niveo de la sidebar...merci
Bonjour colir...
Oui, il est possible d'insérer OtherBlog au niveau des post de deux façons :
Je propose des exemples d'utilisation dans mon blog de test dans la zone des billets (widget dans blogextra déporté) ou dans des pages connexes (accessibles depuis la sidebar, l'une utilisant le template, l'autre la fonction interne).
Si tu as d'autre questions concernant le plugin, merci d'utiliser le forum de DC2. Je viens de modifier le lien (l'ancien était périmé).
Pour être en conformité avec la v2-RC1 de Dotclear et pour éviter toute confusion lors du téléchargement et de l'installation, j'ai supprimé de l'annexe les fichiers au format pkg.gz (format obsolète) et tar.gz (doublon avec zip)...
Si j'indique seulement %T% dans le Format des items le titre aparait deux fois.

En effet... j'avions pas vu. En attendant que je répare, je te propose de ne rien mettre dans le format des items, et tu auras bien une seule fois le titre.
Juste un "==" à remplacer par un "===" dans deux fichiers... Grrrr
Mise à jour du plugin qui passe en v1.3.1.
J'en ai profité pour corriger également une anomalie liée à la gestion par Dotclear de la page affichant le résultat d'une recherche. En effet elle a le même statut que la page d'accueil pour la prise en compte de l'option "Uniquement sur la page d'accueil" du widget.
C'est possible d'afficher la liste des billets du même blog ? (un peu comme lecteur rss sous dc1)
Voui... c'est possible. Suffit de donner l'id du blog concerné.
Salut,
Je m'intéresse à ton script DC2, mais j'ai plusieurs questions :
1 - N'affiche t il que la liste des billets ou peut on aussi afficher l'extrait du billet ou bien tout un billet en particulier, genre le dernier.
2 - Possible aussi de faire une selection des billets affichés en fonction d'une catégorie choisie ?
En fait j'aimerai mettre les extraits des derniers billets d'une catégorie dans une page d'accueil externe à Dotclear, avec des DIV qui recevrait tantot spectacle pour la dic id"spectacle", danse pour la div id ="danse" etc...
Merci
Salut leau2001 et bienvenue en ces lieux.
Je n’envisage pas d’ajouter cette fonctionnalité à Otherblog, au moins pour l’instant. Mais je garde ta suggestion au cas où je m’y replonge. Car j’ai prévu de le laisser en l’état avec l’arrivée du plugin feedEntries de Pep, bien plus puissant et bien plus configurable (mais sans widget).
Une nouvelle version d'Otherblog est en ligne, la v1.4.0. Elle répond au souhait formulé par leau2001 en #9.
Du temps que j'y étais, j'ai apporté un correctif pour l'affichage des titres de blog ayant des caractères accentués et, en plus du filtre sur une catégorie, j'ai ajouté la possibilité de filtrer les billets sur un mot-clé (ou tag).
Merci à DSLS (du forum Dotclear) pour son aide concernant les jointures de tables en MySQL et à Zeiram (également du forum Dotclear) pour sa suggestion concernant le paramétrage (facultatif) d'une catégorie.
Bonjour Mirovinben, merci pour ce plugin qui a l’air de convenir exactement à ce que je recherche! Malheureusement, en voulant l’installer sur une page externe, j’ai une erreur qui s’affiche sur la page en question:
Fatal error: Class ‘dt’ not found in /cheminabsolu/dc2/inc/clearbricks/common/_main.php on line 66
Pourtant dans ce fichier, ligne 66, il y a bien marqué:
dt::setTZ(‘UTC’);
Sais-tu comment résoudre ce problème?
Merci!
dc2fan, bienvenue ici (même s’il vaut mieux signaler ton pb sur le forum de Dotclear).
Aucune idée d’où peut provenir le “not found”. Fait référence à une fonction date que le plugin n’utilise pas… du moins directement. Peut-être un pb de format de la date telle que tu l’aurais définie ?? Je me perds en conjectures.
Désolé !…
Une petite erreur a été repérée dans le code de la fonction template , du coup : passage en v1.4.1b…
Hello!
Juste pour info, ce plugin n’est pas compatible avec le plugin “URL handlers” car il ne tient pas compte du changement des URLs.
effisk, merci pour ton signalement.
Cette incompatibilité est logique : OtherBlog va chercher directement dans la base de données les infos concernant les URL des billets et des blogs. Donc tout malaxage externe de ces données via une extension ne peut être pris en compte.
Bonjour,
Pour faire un portail de multiblog, j’utilise ton plugin qui est vraiment bien fait et documenté. Je ne sais pas vraiment comment il marche à l’intérieur, mais j’aimerais pouvoir exclure des catégories de la liste.
Sur un de mes blogs, je met en avant un post périodique, et j’ai donc un widget Derniers billets avec la catégories voulue dans la sidebar. Seulement sur mon portail, j’affiche uniquement cette catégorie avec le plugin, mais j’aimerais qu’elle ne soit plus dans les autres listes de billets.
C’est possible d’effacer une catégorie d’un <Tpl::Entries> en mettant category=”URLCATEG?not”. Serait ce possible de faire la même chose sur les listes ?
Dans le même ordre d’idées, sur un autre blog, j’ai des brèves, qui sont des billets très courts sans extrait. Via brèves?not sur la page d’accueil, je ne les affiche pas. Je les laisse en Derniers billets dans la sidebar.
Mais sur mon portail, je n’ai que les derniers posts sans prendre en compte les catégories, et ainsi je n’ai Que les brèves puisqu’elles sont les billets les plus récents.
Penses-tu pouvoir relever le challenge ?
Heu…
Si je comprends bien, Fab, tu souhaites pouvoir exclure une catégorie du listage proposé par OtherBlog, à l’inverse de ce qu’il permet depuis la v1.4.0, c’est à dire n’afficher qu’une catégorie.
Idée intéressante mais qui ouvre la porte à des demandes de plus en plus pointues risquant de faire de ce plugin une usine à gaz de plus en plus complexe à manipuler : pourquoi n’exclure qu’une catégorie ? et les sous-catégories ? pourquoi ne pas filtrer que certaines catégories et pas d’autres ?… etc… la liste est longue.
Je vais y réfléchir et te contacterai par mail prochainement.
Je mets la dernière main sur une v1.5.0 qui propose un meilleur filtre sur les catégories en permettant d’en saisir une ou plusieurs et d’indiquer pour chacune si elle est à lister ou à exclure…
Ca avance bien, derniers tests en cours. Fab, je t’ai envoyé un mail à l’instant.
La v1.5.0 est disponible, la doc a été revue, corrigée et optimisée…
A consommer sans modération.
Bonjour,
Je développe un Dotclear multiblog multilingue (utilisant l’excélent plugin DCtranslation de Jean Christophe Dubacq), et j’aimerais dans chaque blog, présenter la liste des 4 derniers billets des autres blogs du multiblog. Bien évidemment j’ai installé votre plugin :+)
Mon problème est le suivant (et j’ai bien peur de ne pas trouver de solution) :
Par défaut Otherblog m’affiche les flux français.
(les url de flux de type : http:/www.monsite.com/feed/navlang:fr~en/atom)
Y aurait-il moyen d’afficher les flux en anglais ? (url : http:/www.monsite.com/feed/navlang:en~fr/atom
Ou pas ?
Bonjour oghme.
OtherBlog n’utilise pas les flux RSS/Atom mais passe par une lecture de la base de données. Sans effectuer de tri particulier sur une langue. Donc, a priori, et dans un usage habituel, il ne devrait pas y avoir de pb.
Par contre, il est tout à fait possible que le plugin DCtranslation ajoute des champs et/ou des tables. Dans ce cas OtherBlog est inefficace, sauf à le modifier spécifiquement pour les utilisateurs de DCtranslation au niveau de la requête SQL qui extrait les données pertinentes (fichier common.php, vers la ligne 90 entre autre).
Ce que je ne saurais faire car je n’ai pas de configuration multi-langue ni usage de DCtranslation. Je pense qu’il serait plus profitable de poser la question sur le forum Dotclear.
Hello!
toujours à propos de la compatibilité avec le plugin “URL handlers”, est- il possible de faire une petite manip dans le code du plugin pour corriger cela ? (je sais que ce n’est pas très propre et que cela risque de sauter à la prochaine mise à jour du plugin, mais bon… :/ )
Je ne code pas en php, mais je bidouille pas mal.
re-moi
bon j’ai trouvé comment bidouiller (dans common.php).
Dernière question : j’ai vu qu’il était possible d’exclure des catégories… est-il possible d’exclure des blogs de la même façon ?
Salut effisk.
La structure du code PHP dans common.php n’est pas organisée actuellement pour permettre d’exclure un ou plusieurs blogs à l’image des catégories. Ce doit être tout à fait réalisable au niveau de la requête SQL.
L’idée est intéressante. Peut-être dans une prochaine version…
Date inconnue et non encore planifiée ;-).
effisk, je viens de mettre à jour OtherBlog. La v1.5.2 permet d’exclure un ou plusieurs blogs de la liste. Il suffit de faire précéder chaque id à exclure du point d’exclamation.
Is there any English documentation for otherBlog? I’ve been using the planet plugin, but it’s no longer compatible with Dotclear 2 HEAD. I’m wondering if otherBlog would be a good replacement, but I cannot find any configuration or other documentation.
Thanks!
Hello Chris,
Je suis désolé mais mes faibles connaissances en anglais m’empêchent de proposer une documentation dans cette langue.
Ce que l’outil linguistique de G**gle traduit par :
I’m sorry but my limited English skills prevent me from offering documentation in that language.
mirovinben,
Thanks. I understand — I certainly don’t understand French, and I can’t expect you to translate as well as writing the software.
I see DC has a very bilingual community — is there any mechanism or team for translating things like the OtherBlog description & docs?
Perhaps someone else here can tell me if it’s suitable for generating combined RSS/ATOM feeds with links back to the original posts in the other blogs in my Dotclear installation.
One thing I didn’t like about Olivier’s planet plugin is that it copied posts into a separate combined blog, meaning each post had 2 URLs and they weren’t identical.
Je vous invite à poser toutes vos questions ici. D’autres membres de la communauté sont bilingues, eux… Et ils pourront sûrement vous aider.
Ce que l’outil linguistique de G**gle traduit par :
I invite you to ask any questions here. Other community members are bilingual, they… And they will surely help you.
I’ve raised this as a bug report (about errors in the planet plugin), and through DotAddict, where TomTom33 was helpful enough to explain the PHP notices.
I was unable to login to the forum yesterday — it kept redirecting me to the logged-out forum view. Today I managed to post http://forum.dotclear.net/viewtopic.php?id=41194
Chris
Bonjour
Fidèle utilisateur, je viens de mettre à jour otherblog depuis la version 1.5.1 (je sais c’est mal, mais ça marchait très bien) vers la 1.5.10 pour accompagner ma mise à jour vers dotclear 2.2
Lorsqu’on insère le widget dans un fichier de template, même si le paramètre title est vide un titre s’affiche quand même. Peut-on désactiver ce comportement ?
Salut Philippe
Si l’on souhaite insérer le widget dans un fichier template sans afficher de titre il suffit d’ajouter dans la liste des paramètres de <tpl:Widget> :
Par acquis de conscience, je viens de re-tester chez moi… Sait-on jamais, des fois que certaines “optimisations” aient cassé quelque chose.
C’est pourtant ce que j’avais fait, fort logiquement… j’ai dû me faire piéger par un cache^^
Du coup j’en ai profité pour passer à la version 1.6 qui fonctionne parfaitement, et je reste un utilisateur comblé, merci encore