Modul:Stadtteil
Aus FürthWiki
Seiten-Übersicht
| Hauptseite | Unterseiten | ||
|---|---|---|---|
| Allgemein | |||
| Faktenbox | Vorlagen | ||
| Formulare |
|
||
| Module | |||
| Alias | |||
| Abfrage | Vorlagen |
| |
| Formulare |
| ||
| Sonstige | |||
Siehe auch
local p = {}
local com = require("Modul:Common")
local str = require("Modul:String")
local fab = require("Modul:Faktenbox")
local kla = require("Modul:Klasse")
local fom = require("Modul:Formular")
function p.Faktenbox(frame)
-- Basis-Faktenbox-Daten (Klasse/Kategorie/Formular)
local fbdata = fab.getFbdata(frame)
fbdata.klasse = {"Stadtteil"}
fbdata.kategorie = {kla.getCategory("Stadtteil")}
fbdata.formular = fbdata.alias or "Stadtteil" -- ggf. "Stadtteil/Work"
fbdata.positionscheck = true
-- StadtteilAusprägung
local stadtteilauspraegung = fbdata.pargs["StadtteilAusprägung"]
if stadtteilauspraegung ~= nil then
stadtteilauspraegung =
str.splitAndStrip(fbdata.pargs["StadtteilAusprägung"], ";")
end
fbdata.attr.list["StadtteilAusprägung"] =
stadtteilauspraegung or fbdata.alias or "Stadtteil"
if stadtteilauspraegung ~= nil then
fbdata.alias = table.concat(stadtteilauspraegung, ", ")
end
-- Stadtbezirk Aufbereitung als Link
if fbdata.pargs["Stadtbezirk"] ~= nil then
fbdata.pargs["Stadtbezirk"] =
"[[Stadtbezirk " .. fbdata.pargs["Stadtbezirk"] .. "|" ..
fbdata.pargs["Stadtbezirk"] .. "]]"
end
-- Tabs einsammeln und zusammenfügen
local t =
p.kartenTab(fbdata) .. -- Karten-Tab muss vor Tabs mit zeileGeoDaten() sein
fab.bildTab(fbdata) ..
kla.faktenboxDatenTab(fbdata)
t = fab.factbox_header_footer(t)
-- Sonstige gemeinsame Dinge anfügen (Klasse, Formular, Kategorien, Wartung, ...)
t = t .. "[[Kategorie:" .. fbdata.pagename .. "|*]]"
t = t .. fab.postprocess(fbdata)
-- Pre-Processing
t = fbdata.frame:preprocess(t)
return t
end
function p.Formular(frame)
-- Kommandozeile zum Debuggen:
-- = p.Formular(mw.getCurrentFrame())
local alias = frame.args["Alias"]
local template = alias or "Stadtteil"
local t = ""
t = t .. "{{{for template|" .. template .. "|label=" .. template .. "}}}"
t = t .. kla.attrFormTable(frame, "Stadtteil") -- gemäß AttributListe der Klasse
t = t .. frame:expandTemplate{title = "Formular:PositionKarte"}
t = t .. "{{{end template}}}"
t = t .. fom.articleEditAndCommon()
return t
end
function p.kartenTab(fbdata)
local t = ""
-- defaults
fbdata.pargs["zoom"] = fbdata.pargs["zoom"] or 13
-- location ermitteln
if fbdata.pargs["location"] == nil and
not com.isTrue(fbdata.pargs["Ehemals"]) then
-- suburb probieren
local location = "suburb " .. fbdata.pagename .. ",Fürth,Bayern,Deutschland"
local geocode = fbdata.frame:callParserFunction("#geocode", location)
if geocode == "Geocoding failed" then
-- nochmal nackt probieren, wenn keine Koordinate übergeben
if fbdata.pargs["lat"] == nil or fbdata.pargs["lon"] == nil then
location = fbdata.pagename .. ",Fürth,Bayern,Deutschland"
geocode = fbdata.frame:callParserFunction("#geocode", location)
end
end
if geocode ~= "Geocoding failed" then
fbdata.pargs["location"] = location
end
end
-- Standard-Karten-Tab
t = t .. fab.kartenTab(fbdata)
return t
end
return p