Greffon pour DotClear2 : billet aléatoire V1.1.0b
Par ȷulmud le lundi 10 juillet 2023, 10:34 - Free the code! - Lien permanent
Lorsque j'ai voulu mettre à jour mon installation de Dotclear vers la dernière version 2.26.1, je me suis retrouvé à ne plus pouvoir me connecter à l'interface d'administration avec des erreurs internes (500). Il s'est avéré que la cause était une mauvaise gestion de la localisation du greffon randomPost. Voici donc une nouvelle version où je n'ai fait que regénérer la localisation.
À 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?
- Localisation compatible avec Dotclear 2.26.1.
- La version minimum de Dotclear pour ce greffon est donc maintenant la 2.26.
- Distribution du greffon directement depuis le repository du code source.
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}}
(pour utiliser une redirection) ou {{tpl:RandomStatitcURL}}
(pour une page qui ne change pas d'URL[2]) 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 quels 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
- La page de documentation n'a pas été mise à jour pour ces nouvelles fonctionnalités.
Une remarque encore : 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... (ou sur Dotaddict Pas sur Dotaddict cette fois-ci, car le système considère que les numéros de versions 1.1.0 et 1.1.0b sont identiques et n'autorise pas de faire une mise à jour du plugin si c'est le cas.)
Remarques, commentaires, rapports de bogues, ...
... sont toujours les bienvenus dans les commentaires de ce billet ou sous forme de ticket sur le repository dédié.
Commentaires
Bonjour,
Suite à la mise à jour, l'affichaeg aléatoire des billets ne fonctionne plus.
Auparavant, j'avais un lien dans le corps de mes billets du type :
<a href="/index.php?random"><img src="..."></a>
qui me permettait de cliquer sur l'image pour aboutir à un autre billet aléatoirement.
Là j'ai remplacé ceci par un lien directement dans le fichier "post.html" du template :
<a href="
"> </a>et... ça ne marche pas... ça me renvoie vers le même billet.
Avez-vous une idée ?
Je vous remercie bien.
Cordialement,
exemple : https://papa.lasauceauxarts.org/ind...
@HubbubHum : Effectivement, je constate la même erreur 585 que chez vous en utilisant l'URL de redirection avec la version 1.1.0b du greffon ! 🤯 Je suis surpris de ne pas m'en être rendu compte plus tôt...
Mais cette erreur est corrigée avec la version 1.2.0 du greffon que je viens de publier (nécessite toutefois une version 2.27 de Dotclear). Par contre, il semblerait qu'avec cette nouvelle version il y a un problème avec les URLs générées lorsque le blog est configuré en mode QUERY_STRING (comme c'est votre cas). Il manque alors le '?' dans les URLs générées (aussi bien l'URL de redirection générée par les méthodes de template ou le widget, que dans l'URL des billets...)
Je ne suis pas certain de comprendre exactement la solution de contournement que vous avez mise en place, mais il est bien possible que ce soit le cache de templates de Dotclear qui fait que la valeur retournée est toujours la même... mais pas sûr.
Mon conseil pour le moment :
patienter encore un peu que je publie la version 1.2.1 du greffon qui corrige le problème avec les blogs en QUERY_STRINGessayer avec la version 1.2.0 du greffon, et ensuite réutiliser l'URL "https://papa.lasauceauxarts.org/index.php?random" directement dans les billets comme vous le faisiez préalablement.Mise à jour : je ne suis pas sûr que le problème du point d'interrogation en mode QUERY_STRING soit dû à mon code. En effet, si je passe ce blog en mode QUERY_STRING, absolument tous les liens sont faux, même ceux générés par Dotclear 2.27.3 lui-même (lien des billets sur la page d'accueil, ou dans le widget "Billets sélectionnés" par exemple). Donc potentiellement la version 1.2.0 de mon greffon suffit à régler votre problème.