Semantic MediaWikiDit bericht verdwijnt nadat alle relevante taken zijn afgerond.

Er is één onvoltooide of openstaande taak, die nodig is om het installeren van Semantic MediaWiki te voltooien. Een beheerder of gebruiker met voldoende rechten kan deze uitvoeren. Dit moet worden gedaan voordat nieuwe gegevens worden toegevoegd om tegenstrijdigheden te voorkomen.

local table
Geen bewerkingssamenvatting
Regel 9: Regel 9:
local label = frame.args.label or ""
local label = frame.args.label or ""
local flexargs = frame.args
flexargs = frame.args
-- slot
-- slot
-- Remove anything from args that should not be sent to FF
-- Remove anything from args that should not be sent to FF
local additkeys = { 'content', 'page', 'slot', 'template', 'param', 'label' }
local additkeys = { 'content', 'page', 'slot', 'template', 'param', 'label' }
for k in ipairs( additkeys ) do
for name in ipairs( additkeys ) do
if ( flexargs[k] ~= nil ) then
if ( flexargs[name] ~= nil ) then
flexargs[k] = nil
flexargs[name] = nil
end
end
end
end
--
--
if ( frompage ~= "" ) then
if ( frompage ~= "" ) then
local slotval = p.getdatafromslot( frompage, fromslot, fromtemplate, fromparam )
slotval = p.getdatafromslot( frompage, fromslot, fromtemplate, fromparam )
-- todo - ask label?
-- todo - ask label?
if ( flexargs['type'] == 'textarea' ) then
if ( flexargs["type"] == 'textarea' ) then
content = slotval or ""
content = slotval or ""
else
else
flexargs['value'] = slotval or ""
flexargs["value"] = slotval or ""
end
end
end
end

Versie van 22 sep 2023 06:51

Module:FF




invoke within form

{{#invoke:FF|input 
|type=text 
|name=myname
|value=Value here 
|id=fff-443434 
|class=form-control

|label=Name
|template=Data item

|slot=
|param=
|template=
}}


Getdata

Kikkers en tongzoenen - Sarah Mlynowski 2007, 1ᵉ druk, Uitgeverij Van Goor Unieboek BV, Houten:

Titel/-787178247

Works with parser function though


Titel/-787178247

getdatatest

Titel/-787178247


local p = {}

p.input = function(frame)
	local content = frame.args.content or frame.args[1] or ""
	local frompage = frame.args.page or ""
	local fromslot = frame.args.slot or ""
	local fromtemplate = frame.args.template or "" --template name
	local fromparam = frame.args.param or "" --template parameter
	local label = frame.args.label or ""
	
	flexargs = frame.args
	-- slot
	-- Remove anything from args that should not be sent to FF
	local additkeys = { 'content', 'page', 'slot', 'template', 'param', 'label' }
	for name in ipairs( additkeys ) do
		if ( flexargs[name] ~= nil ) then
			flexargs[name] = nil
		end
	end
	--
	if ( frompage ~= "" ) then
		slotval = p.getdatafromslot( frompage, fromslot, fromtemplate, fromparam )
		-- todo - ask label?
		if ( flexargs["type"] == 'textarea' ) then
			content = slotval or ""
		else
			flexargs["value"] = slotval or ""
		end
	end
	-- FF
	local str = frame:extensionTag( '_input', content, flexargs )
	return str
end

--[[
test
]]--
p.getdata = function(frame)
	-- todo without pagename, get current page
	local page = frame.args.page or mw.title.getCurrentTitle()
	local slot = frame.args.slot or "main"
	local template = frame.args.template or ""  --template name
	local param = frame.args.param or nil  --template parameter
	-- getdatafromslot( page, slot, param )
	local str = p.getdatafromslot( page, slot, template, param )
	return str
	--local pagepropsparams = { slot, page, '@' .. slot }
	--local slotdatapf = frame:callParserFunction( '#slottemplates', pagepropsparams )
	--local slotdata = frame:preprocess( slotdatapf )
end

--[[
]]--
p.getdatafromslot = function( page, slot, template, param )
	local str = "Something went wrong"
	--
	if ( template == "" ) then
		--todo
		local str = mw.slots.slotContent( slot, page )
		return str
	end
	-- 
	local slotdata = mw.slots.slotTemplates( slot, page )
	local str = slotdata[template][1][param]["_text"]
	--local str = slotdata["Book"][1]["TitelNr"]["_text"]
	return str
end

-- does not work
p.getdatatest = function()
	local slotdata = mw.slots.slotTemplates( "ws-page-props", "Boek/-100102193" )
	mw.logObject( slotdata );
	local str = slotdata["Book"][1]["TitelNr"]["_text"]
	return str
end


--[[
test to show comparison callParserFunction and extensionTag
]]
p.form1 = function(frame)
	-- test of frame:callParserFunction
	-- {{#tag:form||id=bla|action=get}}
	local content = 'Test'
	local formparams = { 'form', content, id = 'bla', action = 'get' }
	local str = frame:callParserFunction( '#tag', formparams )
	return str
end

--[[
Makes more sense than using callParserFunction
but "equivalent to a call to frame:callParserFunction() with function name '#tag' "
]]--
p.form2 = function(frame)
	-- frame:extensionTag( name, content, args )
	local content = 'Test'
	local tag = 'form'
	local args = { id = 'bla', action = 'get' }
	local str = frame:extensionTag( tag, content, args )
	return str
end

return p