Geen bewerkingssamenvatting
Geen bewerkingssamenvatting
Regel 12: Regel 12:
local slot = frame.args.slot or "main"
local slot = frame.args.slot or "main"
local page = frame.args.page or ""
local page = frame.args.page or ""
-- else present page
if page == "" then page = mw.title.getCurrentTitle().fullText end
if page == "" then page = mw.title.getCurrentTitle().fullText end
    local slotData = {}
    slotData = mw.slots.slotData(slot,page)
    if slotData == {} then mw.log( "No slot data found" ) end
local template = frame.args.template or nil
local template = frame.args.template or nil
if template == nil then return "" end
if template == nil then return "" end
local param = frame.args.param or ""
local param = frame.args.param or ""
return p.getValueFromTemplateData( slot, page, template, param )
end
--[[ helper ]]--
p.getValueFromTemplateData = function( slot, page, template, param )
local slotData = {}
slotData = mw.slots.slotData(slot,page)
    if slotData == {} then
    mw.log( "No slot data found" )
    return ""
    end


local res = ""
local res = ""

Versie van 5 sep 2025 21:29

Documentatie voor deze module kan aangemaakt worden op de volgende pagina: Module:Slot/doc

local p = {}

--[[
{{#invoke:Slot|getParamValue
|slot= // defaults to main
|page= // defaults to FULLPAGENAME
|template=
|param=Category
}}
]]--
p.getParamValue = function ( frame )
	local slot = frame.args.slot or "main"
	local page = frame.args.page or ""
	-- else present page
	if page == "" then page = mw.title.getCurrentTitle().fullText end
	local template = frame.args.template or nil
	if template == nil then return "" end
	local param = frame.args.param or ""
	return p.getValueFromTemplateData( slot, page, template, param )
end

--[[ helper ]]--
p.getValueFromTemplateData = function( slot, page, template, param ) 
	local slotData = {}
	slotData = mw.slots.slotData(slot,page)
    if slotData == {} then 
    	mw.log( "No slot data found" )
    	return ""
    end

	local res = ""
	if template ~= nil then
		local tree = slotData[template]
		if type(tree) == "table" then
			--for k,v in pairs( tree ) do
				--mw.log( "tree key: " .. k )
			--end
			if tree[1] ~= nil and tree[1][param] ~= nil then
				res = tree[1][param]["_text"]
			end
		end
	else
		-- do JSON, too?
	end

	return res
end

return p