Modul:Straße

Version vom 21. August 2025, 09:05 Uhr von HeikoBot (Diskussion | Beiträge) (Verwendung {{{streetlocation|}}} via Vorlage:Straße/Karte/Lokation)
local p = {} --p stands for package
local c = require( "Module:Common" )

function p.Faktenbox( frame )
	pf = frame:getParent()
	args = pf.args
	
	-- Before you ask: No, you cant' use extensionTag here!
	tpl_bild = p.Bild( frame, args )
	tab_bild=''
	if tpl_bild:gsub("%s+", "") ~= '' then
		tab_bild='<tab name=Bild>' .. 
		tpl_bild .. '</tab>'
	end
	
	tpl_karte = p.Karte( frame, args )
	tab_karte=''
	if tpl_karte:gsub("%s+", "") ~= '' then
		tab_karte='<tab name=Karte>' .. 
		tpl_karte .. '</tab>'
	end
	
	-- The tab "Daten" is visible everytime
	tpl_daten = p.Daten( frame, args )
	tab_daten='<tab name=Daten>' .. 
	tpl_daten .. '</tab>'
	
	tpl_benennungen = p.Benennungen( frame, args )
	tab_benennungen=''
	if tpl_benennungen:gsub("%s+", "") ~= '' then
		tab_benennungen='<tab name=Benennungen>' .. 
		tpl_benennungen .. '</tab>'
	end
	
	t ='<div class=factbox><tabs>' .. 
	   tab_karte ..
	   tab_bild .. 
	   tab_daten .. 
	   tab_benennungen ..
	   '</tabs></div>'

	-- Use preprocess to render the factbox and all contens at once
	return frame:preprocess(t)
end

function p.Bild( frame, args )
	t = frame:expandTemplate{title = 'Bildertab', args={
		Bild=args.Bild}
	}
    return t
end

function p.Karte( frame, args )
    args_ = c.shallowcopy(args)
	args_["streetlocation"] = frame:expandTemplate{title = 'Straße/Karte/Lokation', args=args}
	t = frame:expandTemplate{title = 'Straße/Karte', args=args_}
    return t
end

function p.Daten( frame, args )
	t = frame:expandTemplate{title = 'Straße/Daten', args=args}
    return t
end

function p.Benennungen( frame, args )
	t = frame:expandTemplate{title = 'Straße/Benennungen'}
    return t
end

return p