Aller au contenu

Module:Correction syntaxique

Cette page fait l’objet d’une mesure de semi-protection étendue.
Une page de Wikipédia, l'encyclopédie libre.
Ceci est une version archivée de cette page, en date du 24 mars 2015 à 14:19 et modifiée en dernier par Al1 (discuter | contributions) (Création d'un template permettant de trouver les modules appelés avec des paramètres inconnus). Elle peut contenir des erreurs, des inexactitudes ou des contenus vandalisés non présents dans la version actuelle.
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)

 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 = "passed args : "
    for a,b in pairs(passed_args) do
       if (modele_args[a] == nil) then
       		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
 
    return rv
end

return p