Ugrás a tartalomhoz

Modul:Infobox

Ez a lap műszaki védett
A Wikipédiából, a szabad enciklopédiából
A lap korábbi változatát látod, amilyen Tacsipacsi (vitalap | szerkesztései) 2015. szeptember 24., 18:41-kor történt szerkesztése után volt. Ez a változat jelentősen eltérhet az aktuális változattól. (ne legyen hiba, ha nincs Wikidata-kapcsolat)

Infobox[mi ez?] • [dokumentáció: mutat, szerkeszt] • [tesztek: létrehozás]

A megvalósított sablonok dokumentációját lásd a Sablon:Infobox lapon.

require"Modul:No globals"
local getArgs = require"Modul:Arguments".getArgs

local p = {}

p["kép"] = function (frame)
	local args = getArgs(frame, {wrappers = "Sablon:Infobox/Kép"})
	if args[1] == "-" then
		return nil
	end
	local filename, legend = args[1], args[3]
	if not filename then
		local entity = mw.wikibase.getEntity()
		if not entity then
			return nil
		end
		local image = entity:getBestStatements(args["wd-property"])[1]
		if image and image.mainsnak.snaktype == "value" then
			filename = image.mainsnak.datavalue.value
			legend = nil
			if image.qualifiers and image.qualifiers.P2096 then
				for _, snak in ipairs(image.qualifiers.P2096) do
					if snak.snaktype == "value" then
						if snak.datavalue.value.language == "hu" then
							legend = snak.datavalue.value.text
						elseif snak.datavalue.value.language == "en" and not legend then
							legend = snak.datavalue.value.text
						end
					end
				end
			end
		end
	end
	if not filename then
		return nil
	end
	local link = "[[Fájl:" .. filename .. "|" .. (args[2] or "250px")
	if legend then
		link = link .. "|" .. legend
	end
	link = link .. "]]"
	local result = tostring(mw.html.create"tr"
		:tag"td"
		:attr("colspan", "2")
		:css("text-align", "center")
		:wikitext(link)
		:allDone()
	)
	if legend then
		result = result .. tostring(mw.html.create"tr"
			:tag"td"
			:attr("colspan", "2")
			:css("text-align", "center")
			:css("font-size", "92%")
			:wikitext(legend)
			:allDone()
		)
	end
	return result
end

return p