Modul:ListeBasistyp: Unterschied zwischen den Versionen

Aus Splitterwiki
Zur Navigation springen Zur Suche springen
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 queryResult[1][1]
+
     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