Module:Article détaillé
La documentation de ce module est générée par le modèle {{Documentation module}}.
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.
-- module simple reprenant les fonctionnalités du modèle {{m|Article détaillé}}
local z = {}
function z.modele_m(nom)
return "[[Modèle:" .. (nom or "") .. "|{{" .. (nom or "") .. "}}]]"
end
-- fonction Article détaillé.
function z.article_detaille(frame)
-- les paramètres issus de l'utilisation du modèle associé
local args = frame:getParent().args
-- texte résultat
local res = ""
-- ouverture du div correspondant
res = res .. '<div class="bandeau-section bandeau-niveau-detail loupe">'
-- si le paramètre nommé "contenu" est donné il remplace tout le reste
if (args["contenu"]) then
return res .. args["contenu"] .. '</div>'
end
-- s'il n'y a aucun paramètre donné → erreur
if (args[1] == nil or args[1] == "") then
res = res .. '<span class="error">Erreur de paramétrage de ' .. z.modele_m("Article détaillé") .. ' : le paramètre <code>1</code> est obligatoire.</span></div>'
-- si NS article → ajout de la catégorie
if (frame:preprocess("{{NAMESPACE}}") == "") then
res = res .. "[[Catégorie:Page utilisant un modèle avec une syntaxe erronée|A]]"
end
return res
end
-- cas général
-- si une amorce est fournie on l'utilise, sinon l'amorce par défaut
if (args["amorce"]) then
res = res .. args["amorce"]
else -- amorce par défaut
-- pluriel ?
if (args[2]) then
res = res .. "Articles détaillés"
else -- pas de paramètre 2 → singulier
res = res .. "Article détaillé"
end
end
-- ajout des ":" de séparation
res = res .. " : "
-- maintenant on parcours les paramètres dans l'ordre, pour les insérer
local pos = 1
while (args[pos]) do
-- séparateur : ", " sauf en dernier " et ", mais pas au début
if (pos > 1) then
if (args[pos+1]) then
res = res .. ", "
else
res = res .. " et "
end
end
-- on insert l'élément en cours
res = res .. "[[" .. args[pos] .. "]]"
-- suivant
pos = pos + 1
end
-- point final et fermeture du div
res = res .. ".</div>"
-- on retourne le résultat
return res
end
-- on retourne la table du module (obligatoire).
return z