« Module:Correction syntaxique » : différence entre les versions

Une page de Wikipédia, l'encyclopédie libre.
Contenu supprimé Contenu ajouté
Al1 (discuter | contributions)
mAucun résumé des modifications
Al1 (discuter | contributions)
m compter les arguments erronés
Ligne 5 : Ligne 5 :
local modele_args = frame.args
local modele_args = frame.args
local rv = ""
local rv = ""
local nombre = 0
for a,b in pairs(passed_args) do
for a,b in pairs(passed_args) do
if (modele_args[a] == nil) then
if (modele_args[a] == nil) then
nombre = nombre + 1
rv = rv .. '<div style="display: none">' .."L'argument " .. a .. " n'existe pas dans le modèle appelé</div>"
rv = rv .. '<div style="display: none">' .."L'argument " .. a .. " n'existe pas dans le modèle appelé</div>"
rv = rv .. "[[Catégorie:Page appelant un modèle avec un paramètre inconnu]]"
end
end
end
end
if (nombre > 0) then
rv = rv .. "[[Catégorie:Page appelant un modèle avec un paramètre inconnu|" .. nombre .. " {{PAGENAME}}]]"
end
return rv
return rv
end
end

Version du 24 mars 2015 à 14:53

 Documentation[voir] [modifier] [historique] [purger]

Utilisation

Fonctions exportables :

  • verifierLesArguments(frame) – vérifie l'existence des arguments passés à un modèle

Exemple

En plaçant dans la source d'un modèle le code suivant, chaque appel du modèle va vérifier la présence d'arguments autres que nom, prenom et age :

{{#invoke: Correction syntaxique | verifierLesArguments
 | nom =
 | prenom =
 | age = 
}}

Si d'autres arguments sont présents, alors :

  • du code caché sera écrit dans la page (visible en consultant la source HTML de la page, ou en affichant via CSS ou JavaScript les éléments .erreur_syntaxe_modele)
  • et la page sera ajoutée dans la catégorie cachée Page appelant un modèle avec un paramètre inconnu.

Configuration

Il est possible de spécifier la catégorie à remplir en ajoutant un paramètre _catégorie :

{{#invoke: Correction syntaxique | verifierLesArguments
 | nom =
 | prenom =
 | age = 
 | _catégorie = Catégorie:Modèle Foobar avec un paramètre inconnu
}}

(la saisie du namespace Catégorie: peut être omise)

Semble remplir la même fonction que Module:Check for unknown parameters.

local p = {}

function p.verifierLesArguments(frame)
	local passed_args = frame:getParent().args
	local modele_args = frame.args
	local rv = ""
	local nombre = 0
    for a,b in pairs(passed_args) do
       if (modele_args[a] == nil) then
       		nombre = nombre + 1
       		rv = rv .. '<div style="display: none">' .."L'argument " .. a .. " n'existe pas dans le modèle appelé</div>"
       	end
    end
 	if (nombre > 0) then
       		rv = rv .. "[[Catégorie:Page appelant un modèle avec un paramètre inconnu|" .. nombre .. " {{PAGENAME}}]]"
	end 		
    return rv
end

return p