Modul:Reihenabfrage: Unterschied zwischen den Versionen

Aus GaretienWiki
Zur Navigation springen Zur Suche springen
VolkoV (D | B)
VolkoV (D | B)
Zeile 23: Zeile 23:
  
 
function holeGeschichten(frame)
 
function holeGeschichten(frame)
 +
local r={}
 +
local i=0
 
local s='<q>[[Geschichten:+]] OR [[Lieder:+]] OR [[Heroldartikel:+]]</q>'
 
local s='<q>[[Geschichten:+]] OR [[Lieder:+]] OR [[Heroldartikel:+]]</q>'
 
local a=frame:callParserFunction(
 
local a=frame:callParserFunction(
Zeile 35: Zeile 37:
 
'order=desc'
 
'order=desc'
 
)
 
)
local r=''
 
 
local t=mw.text.split(a,'€',true)
 
local t=mw.text.split(a,'€',true)
 
for key,value in pairs(t) do
 
for key,value in pairs(t) do
local reihenanzeige=""
+
local reihen=holeReihen(frame,value)
reihen=holeReihen(frame,value)
+
local beschreibung=holeAttribut(frame,value,"Kurzbeschreibung")
 +
local wappen=holeAttribut(frame,value,"Wappen ist")
 
for key2,value2 in pairs(reihen) do
 
for key2,value2 in pairs(reihen) do
reihenanzeige=reihenanzeige.." "..value2
+
r[i]={}
 +
r[i]["Artikel"]=value
 +
r[i]["Reihe"]=value2
 +
r[i]["Beschreibung"]=beschreibung
 +
r[i]["Wappen"]=wappen
 +
i=i+1
 
end
 
end
r=r..value
 
.." "..holeAttribut(frame,value,"Kurzbeschreibung")
 
.." "..holeAttribut(frame,value,"Wappen ist")
 
.." "..reihenanzeige
 
.."<br>"
 
 
end
 
end
 
return r
 
return r

Version vom 12. April 2019, 14:03 Uhr

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

local p = {}

function holeReihen(frame,artikel)
	local a=frame:callParserFunction(
		'#ask',
		'[[-Has subobject::'..artikel..']]',
		'?Reihe ist#=',
		'sep=€',
		'mainlabel=-'
	)
	return mw.text.split(a,'€',true)
end

function holeAttribut(frame,artikel,attribut)
	local a=frame:callParserFunction(
		'#ask',
		'[['..artikel..']]',
		'?'..attribut..'#=',
		'mainlabel=-'
	)
	return a
end

function holeGeschichten(frame)
	local r={}
	local i=0
	local s='<q>[[Geschichten:+]] OR [[Lieder:+]] OR [[Heroldartikel:+]]</q>'
	local a=frame:callParserFunction(
 		'#ask',s,
		'mainlabel=-',
		'?#=',
		'sep=€',
		'limit=10',
		'searchlabel=',
		'format=list',
		'sort=Erstellt',
		'order=desc'
	)
	local t=mw.text.split(a,'€',true)
	for key,value in pairs(t) do
		local reihen=holeReihen(frame,value)
		local beschreibung=holeAttribut(frame,value,"Kurzbeschreibung")
		local wappen=holeAttribut(frame,value,"Wappen ist")
		for key2,value2 in pairs(reihen) do
			r[i]={}
			r[i]["Artikel"]=value
			r[i]["Reihe"]=value2
			r[i]["Beschreibung"]=beschreibung
			r[i]["Wappen"]=wappen
			i=i+1
		end
	end
	return r
end

function p.Abfrage(frame)
	return holeGeschichten(frame)
end

return p