Modul:Gebäude: Unterschied zwischen den Versionen
Aus FürthWiki
Keine Bearbeitungszusammenfassung |
(Personen/Unternehmen-Tabs anstelle Artikel-Tab) |
||
| Zeile 26: | Zeile 26: | ||
tpl_daten .. '</tab>' | tpl_daten .. '</tab>' | ||
local | local tpl_personen = p.personen(frame, args) | ||
local | local tab_personen='' | ||
if | if tpl_personen:gsub("%s+", "") ~= '' then | ||
tab_personen = '<tab name=Personen>' .. | |||
tpl_personen .. '</tab>' | |||
end | |||
local tpl_unternehmen = p.unternehmen(frame, args) | |||
local tab_unternehmen='' | |||
if tpl_unternehmen:gsub("%s+", "") ~= '' then | |||
tab_unternehmen = '<tab name=Unternehmen>' .. | |||
tpl_unternehmen .. '</tab>' | |||
end | end | ||
| Zeile 37: | Zeile 44: | ||
tab_karte .. | tab_karte .. | ||
tab_daten .. | tab_daten .. | ||
tab_personen .. | |||
tab_unternehmen .. | |||
'</tabs></div>' | '</tabs></div>' | ||
| Zeile 56: | Zeile 64: | ||
end | end | ||
function p. | function p.personen(frame, args) | ||
return frame:expandTemplate{title='Gebäude/ | return frame:expandTemplate{title='Gebäude/Personen/Work', args=args} | ||
end | |||
function p.unternehmen(frame, args) | |||
return frame:expandTemplate{title='Gebäude/Unternehmen/Work', args=args} | |||
end | end | ||
Version vom 28. August 2025, 07:33 Uhr
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, args)
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 tpl_personen = p.personen(frame, args)
local tab_personen=''
if tpl_personen:gsub("%s+", "") ~= '' then
tab_personen = '<tab name=Personen>' ..
tpl_personen .. '</tab>'
end
local tpl_unternehmen = p.unternehmen(frame, args)
local tab_unternehmen=''
if tpl_unternehmen:gsub("%s+", "") ~= '' then
tab_unternehmen = '<tab name=Unternehmen>' ..
tpl_unternehmen .. '</tab>'
end
local t ='<div class=factbox><tabs>' ..
tab_bild ..
tab_karte ..
tab_daten ..
tab_personen ..
tab_unternehmen ..
'</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.personen(frame, args)
return frame:expandTemplate{title='Gebäude/Personen/Work', args=args}
end
function p.unternehmen(frame, args)
return frame:expandTemplate{title='Gebäude/Unternehmen/Work', args=args}
end
function p.FormatHausnummer(frame)
-- #invoke wrapper
return formatHausnummer(frame.args[1])
end
function p.formatHausnummer(hausnummer)
-- Hausnummer ohne Buchstaben extrahieren, um damit PLZ zu ermitteln
local hausnr = ""
if not c.isEmpty(hausnummer) then
hausnr = tonumber(string.match("0" .. hausnummer, "%d+"))
end
return hausnr
end
function p.GetPLZ(frame)
-- #invoke wrapper
return p.getPLZ(frame, {
['Straße'] = frame.args[1],
['Hausnummer'] = frame.args[2],
})
end
function p.getPLZ(frame, args)
local hausnr = p.formatHausnummer(args["Hausnummer"])
local strasse = args['Straße'] or ""
local streets = str.split(strasse, ";") or {}
-- Ned schön, funktioniert aber. Iterative Multistraßen-Lösung wäre fein!
return frame:expandTemplate{title = 'StraßeHausnummer2PLZ', args={
['Straße'] = str.strip(streets[1]),
['HausnummerOhneBuchstaben'] = hausnr}
}
end
return p