Das Modul ParameterUmwandeln stellt Funktionen zur Verfügung, die Vorlagenparameter in eine Argumenteliste umwandeln, die von Modulfunktionen verarbeitet werden kann. Das Modul wird nur von anderen Modulen aufgerufen, nicht von Vorlagen.
Beispiel: aus dem Vorlagenparameter "title = xxx" wird das Modulargument "args.title" mit dem Wert "xxx".
- norm: einfache Umwandlung
- merge: wenn eine Vorlage durch eine andere Vorlage aufgerufen wurde, können hiermit die Parameter beider Vorlagen zusammengeführt und umgewandelt werden
Aufruf
Die Parameter der Vorlage werden an die Funktionen übergeben und die Argumenteliste zurückgeliefert.
args = require( 'Modul:ParameterUmwandeln' ).norm( args )
args = require( 'Modul:ParameterUmwandeln' ).merge( true )
Zur Liste aller Vorlagen und Module |
local p = {}
function p.norm( origArgs )
if type( origArgs ) ~= 'table' then
origArgs = mw.getCurrentFrame():getParent().args
end
local args = {}
for k, v in pairs( origArgs ) do
v = mw.text.trim( tostring( v ) )
if v ~= '' then
args[k] = v
end
end
return args
end
function p.merge( origArgs, parentArgs, norm )
if type( origArgs ) ~= 'table' then
norm = origArgs
local f = mw.getCurrentFrame()
origArgs = f.args
parentArgs = f:getParent().args
end
local args = {}
for k, v in pairs( origArgs ) do
v = mw.text.trim( tostring( v ) )
if ( not norm or norm and v ~= '' ) and not args[k] then
args[k] = v
end
end
for k, v in pairs( parentArgs ) do
v = mw.text.trim( v )
if ( not norm or norm and v ~= '' ) and not args[k] then
args[k] = v
end
end
return args
end
return p