Aller au contenu

Module:Alserv1

Une page de Wikipédia, l'encyclopédie libre.
Ceci est une version archivée de cette page, en date du 5 mars 2025 à 20:45 et modifiée en dernier par Alserv (discuter | contributions) (typo). Elle peut contenir des erreurs, des inexactitudes ou des contenus vandalisés non présents dans la version actuelle.

 Documentation[créer] [purger]
--[[
	Fonctions utiles pour les méta-palettes de navigation.
	]]
local p = {}

--[[
	Formate un lien interne.
	Paramètres:	lien:  lien de l'article désiré
				texte: texte à afficher
				
	Cette fonction formate un lien interne, en utilisant comme cible du lien
	la valeur du premier paramètre et comme texte affiché la valeur du second
	paramètre. Si le modèle contenant le #invoke avait été appelé avec un
	paramètre portant le même nom que la valeur du premier paramètre passé au
	module, alors le module utilisera la valeur du paramètre du modèle comme
	cible du lien, ce qui permet de détourner le lien.

	Par exemple, si le modèle contient
		{{#invoke:Méta palette|lien|cible-1|texte-1}}
	et que le modèle est appelé avec
		{{Modèle}}
	alors le lien généré sera
		cible-1|texte-1	(entre crochets)
		
	Mais si le même modèle est appelé avec
		{{Modèle|cible-1=toto}}
	alors le lien généré sera
		toto|texte-1		(entre crochets)
	]]
function p.lien(frame)
	local args0 = frame.args               -- arguments du #invoke
	local args1 = frame:getParent().args   -- arguments du modèle appelant
	local x = args0[1]                     -- cible passée par le modèle au module
	local y = args1[x]                     -- cible détournée par l'appelant du modèle
	if y
		then return "[[" .. y .. "|" .. args0[2] .. "]]"
		else return "[[" .. x .. "|" .. args0[2] .. "]]"
		end
end

return p