Modul:ListeBasistyp: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Stewie (Diskussion | Beiträge) |
Stewie (Diskussion | Beiträge) |
||
Zeile 7: | Zeile 7: | ||
function p.Liste( frame ) | function p.Liste( frame ) | ||
+ | local returnString = "" | ||
local Basistyp = frame.args['Basistyp'] | local Basistyp = frame.args['Basistyp'] | ||
-- test ob Basistyp leer ist wenn ja, beende hier | -- test ob Basistyp leer ist wenn ja, beende hier | ||
Zeile 13: | Zeile 14: | ||
-- Semantische Abfrage nach Seiten mit diesen Basistyp | -- Semantische Abfrage nach Seiten mit diesen Basistyp | ||
local queryResult = mw.smw.ask('[[Basistyp::'..Basistyp .. ']]|?=#|limit=1999') --link=none funktioniert nicht über api abfrage daher ?=# | local queryResult = mw.smw.ask('[[Basistyp::'..Basistyp .. ']]|?=#|limit=1999') --link=none funktioniert nicht über api abfrage daher ?=# | ||
+ | |||
+ | -- loop über query result und erstelle tabelle | ||
+ | local i = 1 | ||
+ | while i <= table.getn(queryResult) | ||
+ | do | ||
+ | returnString = returnString ..queryResult[i][1] | ||
+ | i = i + 1 | ||
+ | end | ||
− | return | + | return returnString |
end | end | ||
return p | return p |
Version vom 22. November 2020, 04:07 Uhr
Die Dokumentation für dieses Modul kann unter Modul:ListeBasistyp/Doku erstellt werden
--[[
Lua Alternative für Vorlage:Liste Basistyp (in der Hoffnung auf bessere Performance)
erwartet ein basistyp als argument und stellt zugehörigen Seiten da.
]]--
local p = {} --local p = {} -- p steht für Paket (engl. package)
function p.Liste( frame )
local returnString = ""
local Basistyp = frame.args['Basistyp']
-- test ob Basistyp leer ist wenn ja, beende hier
if Basistyp == nil then return nil end
-- Todo: test ob argument tatsächlich ein basistyp ist wenn nicht beende hier
-- Semantische Abfrage nach Seiten mit diesen Basistyp
local queryResult = mw.smw.ask('[[Basistyp::'..Basistyp .. ']]|?=#|limit=1999') --link=none funktioniert nicht über api abfrage daher ?=#
-- loop über query result und erstelle tabelle
local i = 1
while i <= table.getn(queryResult)
do
returnString = returnString ..queryResult[i][1]
i = i + 1
end
return returnString
end
return p