Greffon pour DotClear2 : billet aléatoire V0.8
Par ȷulmud le lundi 31 août 2009, 18:52 - Free the code! - Lien permanent
À la demande d'un utilisateur, j'ai ajouté une nouvelle fonctionnalité dans mon greffon randomPost et en ai profité pour le rendre compatible avec les versions récentes de PHP.
Trois nouveautés sont au programme :
- possibilité de laisser passer quelques tags HTML lors de l'affichage d'un extrait du billet ;
- possibilité d'inclure le widget dans un thème de blog via la balise
<tpl:widget>
; - compatibilité avec PHP 5.3.[1]
Notes
[1] Au moment de l'écriture de ces lignes, Dotclear2 n'est pas encore compatible avec PHP 5.3.
À koi k'ça sert ?
Ce greffon vous offre la possibilité de créer un lien qui redirige le visiteur vers un billet tiré au hasard parmi tous les billets publics[1] de votre blog.
Koi k'y a de neuf dans cette version?
- Possibilité de laisser passer quelques tags HTML lors de l'affichage d'un extrait du billet.
- Possibilité d'inclure le widget dans un thème de blog via la balise
<tpl:widget>
. - Compatibilité avec PHP 5.3.
Utilisation
Facile : éditez le template de votre blog, et ajoutez-y un lien avec comme destination (l'attribut href
) la fonction de template {{tpl:RandomRedirURL}}
et c'est tout. Ou alors, utilisez le joli petit widget de présentation pour ajouter le lien dans vos bandeaux de navigation...
L'option (disponible uniquement sur le widget) permettant de laisser passer des tags HTML dans l'extrait permet de spécifier plusieurs tags en les mettant simplement à la suite les un des autres. Par exemple : <img><a>
autorisera les tags image et lien dans l'extrait affiché du billet. Attention, le texte complet du tag fait partie de la longueur de l'extrait. Il y a donc un risque que la coupure de l'extrait intervienne au milieu d'un tag et que cela cause des problèmes d'affichage sur votre page. À utiliser donc uniquement si vous êtes sûr de ce que vous faites !
Pour savoir quelles sont les paramètres à utiliser pour styler le lien dans votre bandeau de navigation, regardez la page du plugin, tout y est détaillé. Vous y trouverez également les descriptions de toutes les options du widget, ainsi que toutes les fonctions de template qui sont à votre disposition.
Bogues connues
Aucune pour le moment...
Une remarque toutefois : si vous utilisez l'affichage du titre et de l'extrait sur toutes les pages de votre blog, cela risque de ralentir votre site. En effet, en faisant cela vous allez ajouter deux requêtes SQL par page vue... cela n'est pas négligeable ! L'utilisation de la redirection ne possède par contre pas cet effet de bord.
Je veux voir !
Allez sur mon photoblog, cliquez sur le lien « Photo au hasard » et voilà ! Vous avez été redirigé vers une photo tirée au hasard.
À venir
Rien... je suis à court d'idées d'amélioration et il faudrait quand même que je passe mon temps à autre chose.
Téléchargement
Hop, jetez un œil dans les fichiers joints à ce billet...
Remarques, commentaires, rapports de bogues, ...
... sont toujours les bienvenus dans les commentaires de ce billet.
Notes
- La version 0.7 n'a jamais été publique.
Notes
[1] Il s'agit donc des billets publiés et non protégés par un mot de passe.
Commentaires
Chouette
Avant que tu ne passes ton temps à autre chose, que penses-tu de proposer un nouvel
urlHandler
pour afficher le contenu du billet au hasard ?(il suffirait alors de recharger le navigateur pour afficher un contenu différent)
Bien sûr le formulaire des commentaires ne serait pas proposé.
Osku : Et la question jackpot du jour est « Et comment je fais pour ne pas afficher le formulaire de commentaires ? » Car je tiens absolument à éviter de définir un nouveau fichier de template juste pour ce greffon et je dois donc passer par le URL handler standard "post" de Dotclear.
Bon, j'ai trouvé comment empêcher l'affichage du formulaire de commentaires... la nouvelle question jackpot est maintenant : « Et comment je fais pour gérer correctement le cache du navigateur ? » (C'est-à-dire comment empêcher complètement le navigateur web de mettre en cache le code HTML de la page et ceci uniquement pour ce nouvel URL handler.)
J'ose : avec une requête de type AJAX ?
Bonjour, chouette plugin... est-il possible (ou prévu qu'il le soit) de restreindre l'affichage à une catégorie ?
Merci !
Marie
Marie : C'est possible depuis un bon moment (version 0.5). Dans le widget, il suffit de sélectionner la catégorie que l'on souhaite (option « Se limiter à la catégorie ») ; dans les méthodes de template, il faut ajouter un argument
limit_to_category_id
pour les méthodes{{tpl:RandomRedirURL}}
,{{tpl:RandomStaticURL}}
ou{{tpl:RandomPostBlock}}
.