Vous n'êtes pas identifié(e).
13 février 2024 Sortie de Dotclear 2.29
Pages : 1
Bonjour,
Vu que le gestionnaire de plugins de dotaddict est toujours en refonte, je poste mon plugin ici:
Il s'agit d'un widget qui permet d'afficher les archives de manière personnalisée:
année, mois, nombre de commentaires, pré-rempli par défaut.
Téléchargement : http://fichiers.keul.fr/dotclear/archiveWidget_1.0.zip
Le code est assez simple, et peut être utile à ceux qui chercheraient à savoir comment coder un plugin.
Merci de poster vos commentaires et problèmes rencontrés ici, ou de me les envoyer par mail à: keul at keul point fr.
Hors ligne
Bonjour keul. Il y a un fil « intérimaire » sur le forum pour annoncer ses plougs, tu veux bien y reporter les infos ?
La documentation : http://doc.dotclear.net/2.0/fulltoc
Le module de recherche du forum : http://www.dotclear.net/forum/search.php ?
Hors ligne
C'est fait. Je laisse ce fil pour le support.
Hors ligne
Modifications mineures:
Nouvelle URL de téléchargement:
http://fichiers.keul.fr/dotclear/archiveWidget_v1.1.zip
Hors ligne
Comme Olivier te l'a déjà fait remarquer, ton plugin est uniquement en français.
Plutôt que d'utiliser str_replace(), tu peux utiliser une fonction de PHP très pratique : sprintf()
À la ligne 29 de _public.php, c'est normal que le <li> ne soit pas fermé ?
Tu as écrit "Licence GNU GLP" au lieu de GPL.
- les règles du forum : http://forum.dotclear.net/viewtopic.php?id=39494
- la galaxie de Dotclear 2 : http://fr.dotclear.org/documentation/2.0/links
Hors ligne
Comme Olivier te l'a déjà fait remarquer, ton plugin est uniquement en français.
Y'a pas de documentation expliquant comment faire des plugins multilangues.
En plus, il me semble qu'il y a 2 méthodes pour la traduction, je dois utiliser laquelle?
Plutôt que d'utiliser str_replace(), tu peux utiliser une fonction de PHP très pratique : sprintf()
T'a pas bien vu le fonctionnement du plugin toi :)
À la ligne 29 de _public.php, c'est normal que le <li> ne soit pas fermé ?
C'est corrigé, merci :)
Tu as écrit "Licence GNU GLP" au lieu de GPL.
Et je 'lai fait sur TOUS mes plugins avec un copier collé... T_____T
Hors ligne
Y'a pas de documentation expliquant comment faire des plugins multilangues.
Dans ce cas, regarde comment font les autre plugins. J'utilise Poedit pour générer le fichier .po, c'est simple et efficace.
T'a pas bien vu le fonctionnement du plugin toi :)
Si, il me semble que printf() sera plus rapide que str_replace().
- les règles du forum : http://forum.dotclear.net/viewtopic.php?id=39494
- la galaxie de Dotclear 2 : http://fr.dotclear.org/documentation/2.0/links
Hors ligne
Si, il me semble que printf() sera plus rapide que str_replace().
Bah, fais le, tout en gardant toutes les fonctionnalités de mon plugin.
Je suis curieux de voir le code que tu va nous faire, enfin, comment tu compte procéder quoi :)
Hors ligne
>keul : ce n'est à mon avis pas le ton à employer envers quelqu'un qui tente de t'aider d'une part, et qui est d'autre part un modérateur de ce forum
Et oui, je sais, le fond et la forme, tout ça, mais la forme c'est important quelquefois ;)
Hors ligne
Bah, fais le, tout en gardant toutes les fonctionnalités de mon plugin.
Je suis curieux de voir le code que tu va nous faire, enfin, comment tu compte procéder quoi :)
Comme ça : http://gniark.net/dotclear-files/public … alpha1.zip
Il te reste à corriger les erreurs XHTML : il y a des balises mal ouvertes ou fermées d'après le validateur W3C.
Merci de veiller sur moi amalgame. :)
Edit : je viens de me souvenir qu'il existait déjà un plugin affichant les archives par mois : http://joel.carolinegutle.net/dotclear/ … /Jarchives
Dernière modification par Moe (2008-11-28 20:32:55)
- les règles du forum : http://forum.dotclear.net/viewtopic.php?id=39494
- la galaxie de Dotclear 2 : http://fr.dotclear.org/documentation/2.0/links
Hors ligne
Entre
%1$s = URL, %2$s = year, %3$s= month, %4$s = comments number
et
%url=URL, %year=année, %month=mois, %number=nombre de commentaires
y'a une belle différence de lecture.
Donc, certes, printf est plus rapide, mais ne conviens pas à mes %year & co, donc NON printf ne conviens pas à mon plugin.
à a rigeure, il me faudrait un système qui convertisses le %year en %2$s et qui le garde en cache dans les paramètres du widget avant qu'il ne sois utilisé par la page.
Tiens, je viens de voir que le plugin dcom utilise ta solution par contre.
Edit : je viens de me souvenir qu'il existait déjà un plugin affichant les archives par mois : http://joel.carolinegutle.net/dotclear/ … /Jarchives
Pas listé sur dotaddict, donc difficile de savoir si le plugin existe déjà ou pas.
Hors ligne
à a rigeure, il me faudrait un système qui convertisses le %year en %2$s et qui le garde en cache dans les paramètres du widget avant qu'il ne sois utilisé par la page.
C'est une bonne idée.
- les règles du forum : http://forum.dotclear.net/viewtopic.php?id=39494
- la galaxie de Dotclear 2 : http://fr.dotclear.org/documentation/2.0/links
Hors ligne
http://www.simplemachines.org/community … c=175031.0
Donc, on a grossomodo sprintf qui est 1 à 2 fois plus rapide que str_replace (et je parle pas de strtr qui est 60fois plus lent que sprintf).
Sur un blog de 5ans, on aurais:
60 str_replace (avec 120 définition de tableau)
60 sprintf
qui sont executés
fonction exec en 1sec temps d'1 exe (µs) temps de 60 exe (µs)
sprintf 92838 10,771451 646,2870807
str_replace #1 69654 14,356677 861,4006374
str_replace #2 58016 17,236624 1034,197463
preg_replace 42444 23,560456 1413,627368
strtr 1786 559,910414 33594,62486
Mon script fait perdre presque une demi miliseconde de génération de page pour rendre le motif plus lisible
Si j'arrive à convertir le str_replace en sprintf une seule fois dans le code et pas 60 fois, je devrais ne perdre plus que 7µs
Hors ligne
Nouvelle version 1.2 : http://fichiers.keul.fr/dotclear/archiveWidget_v1.2.zip
Hors ligne
Si j'arrive à convertir le str_replace en sprintf une seule fois dans le code
C'est assez aisé pour un plugin mais pour un widget toutes les fonctions d'enregistrement sont intégrées et on ne pourra pas les modifier. Tu peux garder ton plugin comme avant, tant pis pour les performances, la différence n'est pas dramatique.
- les règles du forum : http://forum.dotclear.net/viewtopic.php?id=39494
- la galaxie de Dotclear 2 : http://fr.dotclear.org/documentation/2.0/links
Hors ligne
Dans ta nouvelle version, tu utilises 2 str_replace ET sprintf ? Je suis pas sûr que ça soit plus rapide d'utiliser les 2 fonctions.
Tu peux ajouter un changement de ma version : définir une classe pour le widget (indispensable pour styler le widget)
- les règles du forum : http://forum.dotclear.net/viewtopic.php?id=39494
- la galaxie de Dotclear 2 : http://fr.dotclear.org/documentation/2.0/links
Hors ligne
mon str_replace est hors de la boucle while qui tourne n fois le nombre de mois du blog.
Si sprintf est 2 fois plus rapide que str_replace, 2 mois d'archives suffisent à rendre le code plus optimisé.
De plus, dans str_replace, je doit à chaqun de ses appels envoyer deux tableaux des éléments à remplacer/remplacés.
J'ai ajouté la classe.
Je m'occuperai de rendre mes plugins multilingues dans la soirée.
Hors ligne
Nouvelle version 1.3
http://fichiers.keul.fr/dotclear/archiveWidget_v1.2.zip
ATTENTION: CHANGEMENT DU NOM DES VARIABLES
%url=URL, %year=année, %month=mois, %number=nombre
remplacés par
%1$s = URL, %2$s = year, %3$s= month, %4$s = comments number
(ouais, on paramètre mon plugin une fois par an, donc en effet, l'optimisation de Moe à plus de sens, et encore merci à lui.)
Sinon, j'ai ajouté le support des langues avec l'anglais en plus dans cette V1.3
Hors ligne
DERNIÈRE VERSION ICI :
http://plugins.dotaddict.org/dc2/details/archiveWidget
Hors ligne
J'ai une question sur le plugin Archive (que je trouve au passage très utile, pourquoi ne pas l'avoir intégré dans Dotclear 2.4 ?)
Comment paramétrer la page de résultats, afin de faire apparaître non pas uniquement la date et le titre du post, mais l'intégralité des articles postés sur le mois choisi (comme lorsqu'on clique sur un tag par exemple) ?
Merci pour votre retour
Hors ligne
Bonjour,
Comment paramétrer la page de résultats, afin de faire apparaître non pas uniquement la date et le titre du post, mais l'intégralité des articles postés sur le mois choisi (comme lorsqu'on clique sur un tag par exemple) ?
La réponse est qu'il faut modifier le fichier template archive_month.html du thème actif comme décrit dans ce topic.
Hors ligne
Pages : 1
Vous n'êtes pas identifié(e).