Modul:Gebäude
Seiten-Übersicht
| Hauptseite | Unterseiten | ||
|---|---|---|---|
| Allgemein | |||
| Faktenbox | Vorlagen | ||
| Formulare |
|
||
| Module | |||
| Abfrage | Vorlagen |
| |
| Formulare |
| ||
| Sonstige | |||
Siehe auch
local p = {} --p stands for package
local c = require("Module:Common")
local str = require("Modul:String")
function p.Faktenbox(frame)
local args = c.shallowcopy(frame:getParent().args)
args["PLZ"] = p.getPLZ(frame)
local tpl_bild = p.bild(frame, args)
local tab_bild=''
if tpl_bild:gsub("%s+", "") ~= '' then
tab_bild = '<tab name=Bild>' ..
tpl_bild .. '</tab>'
end
local tpl_karte = p.karte(frame, args)
local tab_karte=''
if tpl_karte:gsub("%s+", "") ~= '' then
tab_karte = '<tab name=Karte>' ..
tpl_karte .. '</tab>'
end
-- The tab "Daten" is visible everytime
local tpl_daten = p.daten(frame, args)
local tab_daten = '<tab name=Daten>' ..
tpl_daten .. '</tab>'
local t ='<div class=factbox><tabs>' ..
tab_bild ..
tab_karte ..
tab_daten ..
'</tabs></div>'
-- Use preprocess to render the factbox and all contens at once
return frame:preprocess(t)
end
function p.bild(frame, args)
return frame:expandTemplate{title='Bildertab', args=args}
end
function p.daten(frame, args)
return frame:expandTemplate{title='Gebäude/Daten', args=args}
end
function p.karte(frame, args)
return frame:expandTemplate{title='Kartentab', args=args}
end
function p.getPLZ(frame, args)
local args = c.shallowcopy(args)
local hausnr = ""
-- Ned schön, funktioniert aber. Andere Lösung wäre fein!
if not c.isEmpty(args["Hausnummer"]) then
-- Hausnummer ohne Buchstaben extrahieren, um damit PLZ zu ermitteln
hausnr = tonumber(string.match("0" .. args["Hausnummer"], "%d+"))
end
local streets = str.split(args['Straße'], ";")
return frame:expandTemplate{title = 'StraßeHausnummer2PLZ', args={
['Straße'] = str.strip(streets[1]), ['HausnummerOhneBuchstaben'] = hausnr}
}
end
return p