Plugin : Gestion des éléments textuels

Complété le 10 mars 2005. (les ajouts sont soulignés, les retraits sont barrés)

PluginUne question reste posée quant à la gestion des éléments textuels des plugins développés pour DotClear. Je ne parle ici que des plugins nécessitant l’usage de tels éléments pour leur fonctionnement visible sur le site (ce qu’on appelle le front-end en bon franglais).

Il y a plusieurs possibilités :

  • Fournir la possibilité de passer ces éléments via les paramètres des fonctions exposées et utilisées dans le template. C’est évidemment la méthode recommandée dans la mesure ou l’utilisateur n’a à se préoccupper uniquement que de son template (fichier template.php du thème utilisé et fichiers inclus dans ce dernier). Par contre lorsqu’il s’agit de passer près d’une quarantaine de textes à une seule fonction, j’ai le sentiment que celà commence à faire beaucoup ! En regardant de plus près les possiblités du language PHP, il faudrait certainement passer par l’initialisation d’un tableau avec les textes nécessaires et ensuite passer ce tableau en argument. C’est une méthode que je vais implémenter dans la prochaine version (1.3) du plugin.
  • Fournir la possibilité de gérer ces éléments via un (ou plusieurs) fichier complémentaire qui peut se trouver (ou être copié) dans le répertoire share ou dans le répertoire du thème courant (c’est cette dernière option que j’ai choisie pour le plugin Table des matières).
  • Fournir la possibilité de gérer ces éléments via un fichier template qui utilise une série de fonctions dédiées à telle ou telle partie de l’affichage. Cette méthode a été utilisée par exemple par le plugin Gallery pour l’affichage des galeries et la gestion des commentaires. Dans le cas du plugin Table des matières, ce fichier pourrait se nommer toc.php et nécessiter d’être inclus dans le fichier template.php du thème utilisé à la place de l’appel de la fonction d’affichage de la liste des billets.

Pour ma part, et pour le plugin Table des matières, j’ai séparé les textes utilisés pour l’administration du plugin, textes qui se trouvent dans les fichiers main.lang fournis avec le plugin[1], et les textes utilisés lors de l’appel des fonctions utilisateur, textes qui sont enregistrés dans les fichiers toc.lang fournis avec le plugin. J’offre ensuite dans le panneau de gestion du plugin la possibilité de copier les fichiers toc.lang (donc uniquement les textes utilisables par le front-end) dans un sous-répertoire du thème courant en respectant la hiérarchie l10n/<langue>[-utf8]/. Ensuite, l’utilisateur peut à sa guise modifier ces fichiers en fonctions de ses envies. Cette méthode permet la mise en place facile des traductions (une nouvelle langue implique uniquement un nouveau fichier toc.lang au bon endroit), et la personnalisation des textes en fonction du thème.

Un guide de développement des plugins est déjà disponible mais n’indique rien à propos de celà (utilisation, localisation et gestion des textes utilisés côté visible du site). Un complément est en cours d’élaboration et par conséquent je vais différer pour l’instant mes modifications structurelles de mon plugin en attendant d’en savoir plus !

Note

[1] Voir le guide de développement des plugins sur le Wiki associé au projet DotClear.

Ajouter un commentaire

Les commentaires peuvent être formatés en utilisant la syntaxe Markdown Extra.

Ajouter un rétrolien

URL de rétrolien : https://open-time.net/trackback/2830

Haut de page