Module:Carrousel
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.
local z = {}
function z.modele_m(nom)
return "[[Modèle:" .. (nom or "") .. "|{{" .. (nom or "") .. "}}]]"
end
function z.carrousel(frame)
-- les paramètres issus de l'utilisation du modèle associé
local args = frame.args --:getParent().args
-- texte résultat
local res = ""
-- ouverture du div correspondant
res = res .. '<div class="carrousel">'
-- 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("Carrousel") .. ' : 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|Carrousel]]"
end
return res
end
-- on parcourt les paramètres dans l'ordre
-- pour les insérer comme une galerie
-- (affichage par défaut sans javascript)
res = res .. '<div class="carrousel_default"><gallery>'
local pos = 1
while (args[pos]) do
-- paramamètre impair : image ; si paramètre pair : légende
if (args[pos]) then
res = res .. args[pos]
end
if (args[pos+1]) then
res = res .. '|' .. args[pos+1]
end
res = res .. '\n'
-- paramètres suivants
pos = pos + 2
end
res = res .. '</gallery>\n{{message galerie}}</div>'
-- on parcourt les paramètres dans l'ordre
-- pour les insérer comme un carrousel
-- (invisible sans javascript)
res = res .. '<div class="carrousel_javascript" style="display:none;">'
res = res .. '</div>'
-- on ferme le carrousel
res = res .. '</div>'
-- on retourne le résultat
return frame:preprocess(res)
end
return z