Modul:ListeBasistyp
Version vom 22. November 2020, 15:35 Uhr von Stewie (Diskussion | Beiträge)
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
local basistypArtikelinfo = mw.smw.ask('[[' .. queryResult[i][1] ..']]|?Artikelinfo|?Profilbild|mainlabel=-')
-- um fehler zu vermeiden auf nil prüfen
if basistypArtikelinfo[1]['Artikelinfo'] ~= nil
then
returnString = returnString ..basistypArtikelinfo[1]['Artikelinfo']
end
if basistypArtikelinfo[1]['Profilbild'] ~= nil
then
returnString = returnString .. '<div style="width: 64px; height: 64px; border-radius: 64px; -webkit-border-radius: 640px; -moz-border-radius: 64px; overflow:hidden; float:right; background:lightgray; ">'
returnString = returnString ..'[[{{'..basistypArtikelinfo[1]['Profilbild'] .. ']}}|90x90px|verweis={{{'.. queryResult[i][1] ..'|}}}]]</div>'
end
i = i + 1
end
return returnString
end
return p