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:


Works with parser function though


Titel/-787178247

getdatatest

Scriptfout: de functie "getdatatest" bestaat niet.


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 fromparam = frame.args.param or "" --template parameter
	local label = frame.args.label or ""
	-- slot
	-- Remove anything from args that should not be sent to FF
	local additkeys = { 'content', 'page', 'slot', 'label' }
	for k in ipairs( additkeys ) do
		if ( frame.args[k] ~= nil ) then
			frame.args[k] = nil
		end
	end
	-- FF
	local str = frame:extensionTag( '_input', content, frame.args )
	return str
end

--[[
]]--
p.getdatafromslot = function( page, slot, template, param )
	local page = page or mw.title.getCurrentTitle()
	if template == nil or template == '' then
		--todo
		local str = mw.slots.slotContent( slot, page )
	else
		local slotdata = mw.slots.slotTemplates( slot, page ) -- produces table
		local str = slotdata[template][param]
		local str = slotdata['Book']['TitelNr']
	end
	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 nil  --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

--[[
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