Modul:Kirche: Unterschied zwischen den Versionen

Aus FürthWiki

(kategorie2 = "Gebäude",)
(div. Optimierungen)
Zeile 7: Zeile 7:
local kat = require("Modul:Kategorie")
local kat = require("Modul:Kategorie")
local que = require("Modul:Queries")
local que = require("Modul:Queries")
local fab = require("Modul:Faktenbox")
local fab = require("Modul:Faktenbox/Work")
local geb = require("Modul:Gebäude")
local geb = require("Modul:Gebäude/Work")
local formular = "Kirche" -- ggf. "Kirche/Work"
local formular = "Kirche" -- ggf. "Kirche/Work"


Zeile 21: Zeile 21:
local kategorie = kat.mehrzahl(klasse)
local kategorie = kat.mehrzahl(klasse)
local kategorie2 = kat.mehrzahl(klasse2)
local kategorie2 = kat.mehrzahl(klasse2)
mw.smw.set("KlassenName = " .. klasse)
mw.smw.set("KlassenName = " .. klasse) -- nur primäre Klasse


-- Straße/Hausnummer Formular-Eingaben analysieren
-- Straße/Hausnummer Formular-Eingaben analysieren, Postleitzahl ermitteln
local strasseHnr = geb.strasseHnrParser(args)
local strasse_hnr = geb.strasseHnrParser(args)
local plz = geb.getPlz(strasse_hnr)


-- Postleitzahl ermitteln
-- Tabs einsammeln
local plz = ""
local bild_tab = fab.bildTab(args["Bild"])
if #strasseHnr.strasse > 0 and not strasseHnr.strasse[1].suspekt then
local karten_tab = geb.kartenTab(frame, args, noframe)
-- Es wird angenommen, dass alle Gebäude die gleiche PLZ haben. Hausnummer muss nicht vorhanden sein
local gebaeude_tab = geb.datenTab{
plz = geo.getPLZ(strasseHnr.strasse[1].name, strasseHnr.strasse[1].hausnummer[1])
frame = frame, args = args, klasse = "Gebäude", kategorie = "Gebäude",
else
plz = plz, strasse_hnr = strasse_hnr, geo = true, noframe = noframe, tabname = "Gebäude"
end
 
-- Bilder-Tab bauen
local bildTab = fab.bildTab(args["Bild"])
if bildTab ~= "" then
bildTab = '<tab name = Bild>' .. bildTab .. '</tab>'
end
-- Karten-Tab bauen
local kartenTab
local pagename = wik.pagename()
if string.find(pagename, ";") ~= nil then
kartenTab = "Semikolon im Artikel-/Seitennamen für korrekte Kartendarstellung nicht erlaubt!"
else
kartenTab = geb.kartenTab(frame, args, noframe)
end
if kartenTab ~= "" then
kartenTab = '<tab name = Karte>' .. kartenTab .. '</tab>'
end
-- Gebäude-Tab bauen (immer vorhanden)
local gebaeudeTab = geb.datenTab{
frame = frame,
args = args,
klasse = "Gebäude",
kategorie = "Gebäude",
plz = plz,
strasseHnr = strasseHnr,
geo = true,
noframe = noframe
}
}
local gebaeudeTab = '<tab name = Gebäude>' .. gebaeudeTab .. '</tab>' -- immer vorhanden
local daten_tab = p.datenTab{
 
args = args, klasse = klasse, kategorie = kategorie
-- Daten-Tab bauen (immer vorhanden)
local datenTab = p.datenTab{
args = args,
klasse = klasse,
kategorie = kategorie
}
}
local datenTab = '<tab name = Daten>' .. datenTab .. '</tab>' -- immer vorhanden


-- Tabs zusammenfügen
-- Tabs zusammenfügen
local box =  
local box =  
"<div class = factbox><tabs>" ..
"<div class = factbox><tabs>" ..
bildTab ..
bild_tab ..
kartenTab ..
karten_tab ..
datenTab ..
daten_tab ..
gebaeudeTab ..
gebaeude_tab ..
"</tabs></div>"
"</tabs></div>"


-- Sonstige gemeinsame Dinge anfügen (Formular, Kategorien, Wartung, ...)
-- Sonstige gemeinsame Dinge anfügen (Formular, Kategorien, Wartung, ...)
box = box .. fab.common{
box = box .. fab.common{
klasse = klasse,
klasse = klasse, kategorie = kategorie, kategorie2 = kategorie2, denkmalstatusbesteht = args["DenkmalstatusBesteht"],
kategorie = kategorie,
bild = args["Bild"], strasse_hnr = strasse_hnr, positionscheck = true, formular = formular
kategorie2 = kategorie2,
denkmalstatusbesteht = args["DenkmalstatusBesteht"],
bild = args["Bild"],
strasseHnr = strasseHnr,
positionscheck = true,
formular = formular
}
}
-- mw.log("box = " .. box)
-- mw.log("box = " .. box)


-- Use preprocess to render the factbox and all contens at once
-- Pre-Rendern und String-Länge checken
if not noframe then
if not noframe then
box = frame:preprocess(box)
box = frame:preprocess(box)
end
end
box = box .. com.returnStringCheck(box)
box = box .. com.returnStringCheck(box)
-- mw.log("box = " .. box)
-- mw.log("box = " .. box)
Zeile 109: Zeile 67:
-- mw.logObject(args)
-- mw.logObject(args)
local t = ""
local t = ""
-- Zusammenbau
t = t .. "<dl class = 'dataTable'>"
t = t .. "<dl class = 'dataTable'>"
t = t .. fab.zeileKategorieSeite(args.klasse, args.kategorie)
t = t .. fab.zeileKategorieSeite(args.klasse, args.kategorie)
Zeile 118: Zeile 78:
t = t .. fab.faktenboxSemantikBrowsen()
t = t .. fab.faktenboxSemantikBrowsen()
-- Tab draus machen
t = fab.tab(t, "Daten")
-- mw.log("t = " .. t)
-- mw.log("t = " .. t)
     return t
     return t

Version vom 12. Oktober 2025, 09:54 Uhr

Seiten-Übersicht

Zur Klasse Kirche gehörende Seiten:
Hauptseite Unterseiten
Allgemein
Faktenbox Vorlagen
Formulare
Module
Abfrage Vorlagen


Formulare


Sonstige


Siehe auch


local p = {} --p stands for package
local com = require("Modul:Common")
local dev = require("Modul:Development")
local str = require("Modul:String")
local wik = require("Modul:Wiki")
local geo = require("Modul:Geocode")
local kat = require("Modul:Kategorie")
local que = require("Modul:Queries")
local fab = require("Modul:Faktenbox/Work")
local geb = require("Modul:Gebäude/Work")
local formular = "Kirche" -- ggf. "Kirche/Work"

function p.Faktenbox(frame)
--	mw.log("Faktenbox(frame)")
--	mw.logObject(frame)
	local args, noframe = dev.GetParentArgs(frame)

	-- Klasse/Kategorie setzen
	local klasse = "Kirche"
	local klasse2 = "Gebäude"
	local kategorie = kat.mehrzahl(klasse)
	local kategorie2 = kat.mehrzahl(klasse2)
	mw.smw.set("KlassenName = " .. klasse) -- nur primäre Klasse

	-- Straße/Hausnummer Formular-Eingaben analysieren, Postleitzahl ermitteln
	local strasse_hnr = geb.strasseHnrParser(args)
	local plz = geb.getPlz(strasse_hnr)

	-- Tabs einsammeln
	local bild_tab = fab.bildTab(args["Bild"])
	local karten_tab = geb.kartenTab(frame, args, noframe)
	local gebaeude_tab = geb.datenTab{
		frame = frame,	args = args,				klasse = "Gebäude",	kategorie = "Gebäude",
		plz = plz,		strasse_hnr = strasse_hnr,	geo = true,			noframe = noframe,	tabname = "Gebäude"
	}
	local daten_tab = p.datenTab{
		args = args,	klasse = klasse,	kategorie = kategorie
	}

	-- Tabs zusammenfügen
	local box = 
		"<div class = factbox><tabs>" ..
		bild_tab ..
		karten_tab ..
		daten_tab ..
		gebaeude_tab ..
		"</tabs></div>"

	-- Sonstige gemeinsame Dinge anfügen (Formular, Kategorien, Wartung, ...)
	box = box .. fab.common{
		klasse = klasse,		kategorie = kategorie,		kategorie2 = kategorie2,	denkmalstatusbesteht = args["DenkmalstatusBesteht"],
		bild = args["Bild"],	strasse_hnr = strasse_hnr,	positionscheck = true,		formular = formular
	}
--	mw.log("box = " .. box)

	-- Pre-Rendern und String-Länge checken
	if not noframe then
		box = frame:preprocess(box)
	end
	box = box .. com.returnStringCheck(box)
--	mw.log("box = " .. box)
	return box
end

function p.datenTab(args)
--	mw.log("datenTab(args)")
--	mw.logObject(args)
	local t = ""

	-- Zusammenbau
	t = t .. "<dl class = 'dataTable'>"
	t = t .. fab.zeileKategorieSeite(args.klasse, args.kategorie)
	t = t .. fab.zeile("Namensgeber",	args.args["Namensgeber"])
	t = t .. fab.zeile("Konfession",	args.args["Konfession"])
	t = t .. fab.zeileDatum{attr_date="Weihedatum", date=args.args["Weihedatum"],attr_day="Weihetag",attr_year="Weihejahr"}
	t = t .. fab.zeile("Besonderheit",	args.args["Besonderheit"])
	t = t .. "</dl>"
	t = t .. fab.faktenboxSemantikBrowsen()
	
	-- Tab draus machen
	t = fab.tab(t, "Daten")
--	mw.log("t = " .. t)
    return t
end

return p