Module:BilanMédailles
Apparence
[voir] [modifier] [historique] [purger]
Utilisation
Fonctions exportables :
bilan(frame)
– Génère un tableau de médailles avec les options de classement, de total, et un titre personnalisé. Cette fonction prend en paramètre le frame pour recevoir les arguments du modèle et retourne un tableau HTML.
Paramètres
Les paramètres suivants peuvent être passés au modèle via le `frame` :
titre
– Titre du tableau, suivi automatiquement de la date de dernière mise à jour. Si ce paramètre est omis, aucun titre ne sera affiché.ranking
– Détermine si la colonne de classement doit être affichée. Les valeurs acceptées sontoui
(par défaut) ounon
.total
– Détermine si la ligne de total doit être affichée à la fin du tableau. Les valeurs acceptées sontoui
(par défaut) ounon
.participant
– Intitulé de la colonne représentant les participants. Par défaut, cette colonne est intitulée "Participant".
Autres fonctions :
calculerTotal(gold, silver, bronze)
– Calcule le total des médailles. Cette fonction prend trois arguments (le nombre de médailles d'or, d'argent, et de bronze) et retourne leur somme.
Modules externes et autres éléments dont ce module a besoin pour fonctionner :
mw.title
– Ce module n'a pas de dépendances externes spécifiques au moment de l'écriture.
Exemples
Pour des exemples, voir la page de test permettant de tester diverses modifications apportées.
La documentation de ce module est générée par le modèle {{Documentation module}}.
Elle est incluse depuis sa sous-page de documentation. Veuillez placer les catégories sur cette page-là.
Les éditeurs peuvent travailler dans le bac à sable (créer).
Voir les statistiques d'appel depuis le wikicode sur l'outil wstat et les appels depuis d'autres modules.
local p = {}
function p.bilan(frame)
-- Initialiser la chaîne de résultat pour le tableau
local result = "{| class=\"wikitable\"\n! Participant !! Or !! Argent !! Bronze !! Total\n"
-- Initialiser une variable pour stocker les champs
local fields = {}
-- Récupérer tous les arguments passés au modèle
for i = 1, math.huge do
local value = frame.args[i]
if not value then
break
end
table.insert(fields, value)
end
-- Traiter les champs en blocs de 4 (nom, or, argent, bronze)
for i = 1, #fields, 4 do
local name = mw.text.trim(fields[i])
local gold = tonumber(fields[i + 1]) or 0
local silver = tonumber(fields[i + 2]) or 0
local bronze = tonumber(fields[i + 3]) or 0
-- Calculer le total des médailles
local total = gold + silver + bronze
-- Ajouter une ligne au tableau
result = result .. string.format("|-\n| %s || %d || %d || %d || %d\n", name, gold, silver, bronze, total)
end
-- Fermer le tableau
result = result .. "|}"
return result
end
return p