Modul:Quelleninformationen: Unterschied zwischen den Versionen

Aus Splitterwiki
Zur Navigation springen Zur Suche springen
(ul und li)
(Änderung 173609 von Maggus (Diskussion) rückgängig gemacht.)
Markierung: Rückgängigmachung
Zeile 10: Zeile 10:
local arg = frame.args['Pagename']
local arg = frame.args['Pagename']
if arg == nil then return nil end
if arg == nil then return nil end
local returnString = "<ul>"
local returnString = ""
local queryResult =  mw.smw.ask('[[Subobject Type::Quellenverzeichnis]][[-Hat Unterobjekt::'.. arg .. ']]|?=#|limit=1999|format=array|')
local queryResult =  mw.smw.ask('[[Subobject Type::Quellenverzeichnis]][[-Hat Unterobjekt::'.. arg .. ']]|?=#|limit=1999|format=array|')
local i = 1
local i = 1
Zeile 16: Zeile 16:
do
do
local queryQuelle = mw.smw.ask('[[' .. queryResult[i][1] ..']]|?Quelleninformationen|?Publikation|mainlabel=-')
local queryQuelle = mw.smw.ask('[[' .. queryResult[i][1] ..']]|?Quelleninformationen|?Publikation|mainlabel=-')
returnString = returnString .. "<li>"
returnString = returnString .. queryQuelle[1]['Publikation'] .. ":"
returnString = returnString ..  queryQuelle[1]['Publikation'] .. ":"
if (queryQuelle[1]['Quelleninformationen']) == nil then -- fehlende Angaben in der Quelle
if (queryQuelle[1]['Quelleninformationen']) == nil then -- fehlende Angaben in der Quelle
returnString = returnString .."(ohne Angaben)</li>"
returnString = returnString .."(ohne Angaben)"
elseif(type(queryQuelle[1]['Quelleninformationen']) == "table") then -- Tabelle ein loop mehr
elseif(type(queryQuelle[1]['Quelleninformationen']) == "table") then -- Tabelle ein loop mehr
local n = 1
local n = 1
Zeile 29: Zeile 28:
end
end
else -- einfach nur text
else -- einfach nur text
returnString = returnString .. "&#32;" .. queryQuelle[1]['Quelleninformationen'] .. "</li>"
returnString = returnString .. "&#32;" .. queryQuelle[1]['Quelleninformationen']
end
end
returnString = returnString .. "<br>"
returnString = returnString .. "<br>"
i = i +1
i = i +1
end
end
local returnString = "<ul>"
     return returnString
     return returnString
end
end


return p
return p

Version vom 3. Januar 2025, 23:19 Uhr

Die Dokumentation für dieses Modul kann unter Modul:Quelleninformationen/Doku erstellt werden

--[[
Lua Modul zum zuverlässigen darstellen von Artikelquellen
]]--


local p = {} --local p = {} -- p steht für Paket (engl. package)

function p.getQuellen( frame )
	--teste ob argument ungleich nichts
	local arg = frame.args['Pagename']
	if arg == nil then return nil end
	local returnString = ""
	local queryResult =  mw.smw.ask('[[Subobject Type::Quellenverzeichnis]][[-Hat Unterobjekt::'.. arg .. ']]|?=#|limit=1999|format=array|')
	local i = 1
	while i <= table.getn(queryResult)
		do
			local queryQuelle = mw.smw.ask('[[' .. queryResult[i][1] ..']]|?Quelleninformationen|?Publikation|mainlabel=-')	
			returnString = returnString .. queryQuelle[1]['Publikation'] .. ":"
			if (queryQuelle[1]['Quelleninformationen']) == nil then -- fehlende Angaben in der Quelle
				returnString = returnString .."(ohne Angaben)"
			elseif(type(queryQuelle[1]['Quelleninformationen']) == "table") then -- Tabelle ein loop mehr
				local n = 1
				returnString = returnString .. " : " 
				while n <= table.getn(queryQuelle[1]['Quelleninformationen'])
					do
						returnString = returnString .. queryQuelle[1]['Quelleninformationen'][n] ..","
						n = n +1
					end
			else -- einfach nur text
				returnString = returnString .. "&#32;" .. queryQuelle[1]['Quelleninformationen']
			end
			returnString = returnString .. "<br>"
		i = i +1	
		end
    return returnString
end

return p