Modul:Faktenbox: Unterschied zwischen den Versionen

Aus FürthWiki

zeile() mit args anstelle Einzel-Argumente
(+ attr_text bei zeileDatum(args))
(zeile() mit args anstelle Einzel-Argumente)
Zeile 7: Zeile 7:
local que = require("Modul:Queries")
local que = require("Modul:Queries")
local lfd = require("Modul:LinkFormDatum")
local lfd = require("Modul:LinkFormDatum")
local attr_text = {
["TeilDesEnsembles"]="Teil des Ensembles",
["TeilDesAreals"]="Teil des Areals",
["TeilDesGebäudeKomplexes"]="Teil des Gebäude-Komplexes",
["DenkmalstatusBesteht"]="Denkmalstatus besteht",
["StatistischerBezirk"]="Statistische Bezirke",
["StatistischerDistrikt"]="Statistische Distrikte"
}


function p.Faktenbox(frame)
function p.Faktenbox(frame)
Zeile 222: Zeile 231:
-- =p.zeilePargs({pargs={test=123,TeilDesEnsembles="bla"}}, {"test","TeilDesEnsembles","Blub"})
-- =p.zeilePargs({pargs={test=123,TeilDesEnsembles="bla"}}, {"test","TeilDesEnsembles","Blub"})
local t = ""
local t = ""
local attr_text = {
["TeilDesEnsembles"]="Teil des Ensembles",
["TeilDesAreals"]="Teil des Areals",
["TeilDesGebäudeKomplexes"]="Teil des Gebäude-Komplexes",
["DenkmalstatusBesteht"]="Denkmalstatus besteht"
}
for _, a in ipairs(attr_names) do
for _, a in ipairs(attr_names) do
t = t .. p.zeile(a, fbdata.pargs[a], attr_text[a])
t = t .. p.zeile{attr_name=a, attr_text=attr_text[a], val=fbdata.pargs[a]}
end
end
-- mw.log("t = " .. t)
-- mw.log("t = " .. t)
Zeile 235: Zeile 238:
end
end


function p.zeile(attr_name, val, attr_text)
function p.zeile(args)
-- mw.log("zeile(" .. (attr_name or "nil") .. ", val, " .. (attr_text or "nil") .. ")")
-- mw.log("zeile(args)")
-- mw.logObject(val or {})
-- mw.logObject(args)
-- Konsolenzeile zum Debuggen:
-- =p.zeile{attr_name="n",attr_text="t",val="v1;v2",val_prefix="pre",val_postfix="post"}
local t = ""
local t = ""
if mw.smw.getPropertyType(attr_name) ~= nil then
if mw.smw.getPropertyType(args.attr_name) ~= nil then
local val = args.val or ""
if type(val) ~= "table" then
if type(val) ~= "table" then
val = str.splitAndStrip(val or "", ";")
val = str.splitAndStrip(val, ";")
end
end
if #val > 0 then
if #val > 0 then
t = t .. "<dt>" .. "[[Attribut:" .. attr_name .. "|" .. (attr_text or attr_name) .. "]]</dt><dd>"
t = t .. "<dt>" .. "[[Attribut:" .. args.attr_name .. "|" .. (args.attr_text or args.attr_name) .. "]]</dt><dd>"
if args.val_prefix ~= nil then
t = t .. args.val_prefix .. " "
end
for i, v in ipairs(val) do
for i, v in ipairs(val) do
if i > 1 then
if i > 1 then
t = t .. ", "
t = t .. ", "
end
end
t = t .. "[[" .. attr_name .. "::" .. v .. "]]"
t = t .. "[[" .. args.attr_name .. "::" .. v .. "]]"
end
if args.val_postfix ~= nil then
t = t .. " " .. args.val_postfix
end
end
t = t .. "</dd>"
t = t .. "</dd>"