20.708
Bearbeitungen
(zeileKategorieSeite() + Handling fehlende Kategorie) |
(Bessere Tel.-Anzeige) |
||
| (5 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 23: | Zeile 23: | ||
t = t .. "<dd>[[:Kategorie:" .. fbdata.pagename .. "|" .. fbdata.pagename .. "]]</dd>" | t = t .. "<dd>[[:Kategorie:" .. fbdata.pagename .. "|" .. fbdata.pagename .. "]]</dd>" | ||
else | else | ||
t = t .. "<dd>'''" .. fbdata. | t = t .. "<dd>'''" .. fbdata.fullpagename .. "'''</dd>" | ||
end | end | ||
-- mw.logObject(t, "t") | -- mw.logObject(t, "t") | ||
return t | return t | ||
| Zeile 36: | Zeile 35: | ||
-- =p.zeileStrasseHnr_{strasse_hnr={strasse={{name="Erlanger Straße",hausnummer={"11", "13"}},{name="XY Straße",hausnummer={}}},anzahlGebaeude=3}} | -- =p.zeileStrasseHnr_{strasse_hnr={strasse={{name="Erlanger Straße",hausnummer={"11", "13"}},{name="XY Straße",hausnummer={}}},anzahlGebaeude=3}} | ||
local t = "" | local t = "" | ||
for is, sh in ipairs(fbdata.strasse_hnr.strasse) do -- Straßen/Hausnummer-Kombis durchiterieren | for is, sh in ipairs(fbdata.strasse_hnr.strasse) do -- Straßen/Hausnummer-Kombis durchiterieren | ||
t = t .. "<dt>" | t = t .. "<dt>" | ||
if is > 1 then | if is > 1 then | ||
t = t .. is .. ". " -- Numerierungsanzeige "2., "3." usw. | if is == 2 and #sh.hausnummer == 0 then | ||
t = t .. "Ecke " -- Sonderfall Ecke | |||
else | |||
t = t .. is .. ". " -- Numerierungsanzeige "2., "3." usw. | |||
end | |||
else | else | ||
is = "" -- keine 1, aber 2, 3, ... für weitere Verwendung | is = "" -- keine 1, aber 2, 3, ... für weitere Verwendung | ||
end | end | ||
t = t .. "Straße" | t = t .. "Straße" | ||
if #sh.hausnummer > 0 then | if #sh.hausnummer > 0 then | ||
t = t .. " / " .. "Hausnummer" -- nur wenn Hausnummern vorhanden | t = t .. " / " .. "Hausnummer" -- nur wenn Hausnummern vorhanden | ||
if #sh.hausnummer > 1 then | if #sh.hausnummer > 1 then | ||
t = t .. "n" -- Mehrzahl | t = t .. "n" -- Mehrzahl | ||
end | end | ||
end | end | ||
t = t .. "</dt><dd>[[" .. sh.name .. "]]" | t = t .. "</dt><dd>[[" .. sh.name .. "]]" | ||
smw.addAttrToList(fbdata.attr.list, "Straße" .. is, sh.name) | smw.addAttrToList(fbdata.attr.list, "Straße" .. is, sh.name) | ||
for ih, h in ipairs(sh.hausnummer) do -- Hausnummern durchiterieren | for ih, h in ipairs(sh.hausnummer) do -- Hausnummern durchiterieren | ||
local strasse_hnr_ = sh.name .. " " .. h | local strasse_hnr_ = sh.name .. " " .. h | ||
if ih > 1 then | if ih > 1 then | ||
t = t .. "," -- Kommas davor ab 2. Hausnummer | t = t .. "," -- Kommas davor ab 2. Hausnummer | ||
end | end | ||
if wik.pageExists(strasse_hnr_) then -- Link, wenn Seite vorhanden | if wik.pageExists(strasse_hnr_) then -- Link, wenn Seite vorhanden | ||
t = t .. " [[" .. strasse_hnr_ .. "|" .. h .. "]]" | t = t .. " [[" .. strasse_hnr_ .. "|" .. h .. "]]" | ||
else | else | ||
| Zeile 215: | Zeile 218: | ||
if not wik.pageExists("Attribut:" .. attr_name) then -- Spezialbehandlung Attribut nicht vorhanden | if not wik.pageExists("Attribut:" .. attr_name) then -- Spezialbehandlung Attribut nicht vorhanden | ||
t = t .. p.setStandardAttr(args.fbdata.attr.list, attr_name, val, args.exclude_bracket_values, args.val_show_only) | t = t .. p.setStandardAttr(args.fbdata.attr.list, attr_name, val, args.exclude_bracket_values, args.val_show_only) | ||
else | |||
mw.logObject(attr_name, "attr_name") | |||
local attr_type = mw.smw.getPropertyType(attr_name) | |||
mw.logObject(attr_type, "attr_type") | |||
if attr_type == "_wpg" then -- Seiten-Attribute Spezialbehandlung | |||
t = t .. p.setPageAttr(args.fbdata.attr.list, attr_name, val, args.val_show_only) | |||
elseif attr_type == "_ema" then -- E-Mail-Attribute Spezialbehandlung | |||
t = t .. p.setEmailAttr(args.fbdata.attr.list, attr_name, val, args.val_show_only) | |||
elseif attr_type == "_tel" then -- Telefon-Attribute Spezialbehandlung | |||
t = t .. p.setTelAttr(args.fbdata.attr.list, attr_name, val, args.val_show_only) | |||
else -- Standard-Attribute | |||
t = t .. p.setStandardAttr(args.fbdata.attr.list, attr_name, val, args.exclude_bracket_values, args.val_show_only) | |||
end | |||
end | end | ||
end | end | ||
| Zeile 260: | Zeile 270: | ||
end | end | ||
-- mw.logObject(t, "t") | -- mw.logObject(t, "t") | ||
return t | |||
end | |||
function p.setEmailAttr(attrlist, name, val, val_show_only) | |||
local t = "" | |||
local val_pre_bracket, email, val_post_bracket = str.bracketSplitAndStrip(val) -- nach Klammern suchen und aufteilen | |||
if val_pre_bracket ~= "" then | |||
t = t .. val_pre_bracket .. " " | |||
end | |||
t = t .. "[mailto:" .. email .. " " .. email .. "]" | |||
if val_post_bracket ~= "" then | |||
t = t .. " " .. val_post_bracket | |||
end | |||
if not val_show_only then | |||
smw.addAttrToList(attrlist, name, email) | |||
end | |||
mw.logObject(t, "t") | |||
return t | return t | ||
end | end | ||
| Zeile 265: | Zeile 292: | ||
function p.setTelAttr(attrlist, name, val, val_show_only) | function p.setTelAttr(attrlist, name, val, val_show_only) | ||
local t = "" | local t = "" | ||
local val_pre_bracket, tel, val_post_bracket = | local val_pre_bracket, tel, val_post_bracket = -- nach Klammern suchen und aufteilen | ||
str.bracketSplitAndStrip(val) | |||
tel = val_pre_bracket .. " " .. tel -- Klammer am Anfang wieder anfügen | |||
tel = p.getTelUri(tel) | tel = p.getTelUri(tel) | ||
if string.sub(tel, 1, 1) == "+" then | if string.sub(tel, 1, 1) == "+" then | ||
| Zeile 274: | Zeile 302: | ||
end | end | ||
if not val_show_only then | if not val_show_only then | ||
smw.addAttrToList(attrlist, name, | smw.addAttrToList(attrlist, name, tel) | ||
end | end | ||
-- mw.logObject(t, "t") | -- mw.logObject(t, "t") | ||