Modul:Infobox Stadt
Erscheinungsbild
Die Dokumentation für dieses Modul kann unter Modul:Infobox Stadt/Doku erstellt werden
local exports = {}
function formatiereEinwohnerzahl( zahl )
return string.gsub( zahl, "(%d%d)(%d%d%d)$", '%1.%2' )
end
function exports.Infobox( frame )
local id = mw.wikibase.getEntityIdForCurrentPage()
local item = mw.wikibase.getEntityObject()
local statements = mw.wikibase.getBestStatements( id, 'P166971' )
local einwohner
if not statements[1] then
einwohner = 'unbekannt'
.. '[[Kategorie:Einwohnerzahl bei Wikidata fehlt]]'
else
local snak = statements[1].mainsnak
-- Den Snak mit dem Wikibase-Formatierer im Standard-Format formatieren
-- einwohner = mw.wikibase.formatValue( snak )
-- Oder selbst formatieren
local einwohnerzahl = tonumber( snak.datavalue.value.amount )
einwohner = formatiereEinwohnerzahl( einwohnerzahl )
if frame.args.Einwohner ~= '' and einwohnerzahl ~= tonumber( frame.args.Einwohner ) then
einwohner = einwohner .. '[[Kategorie:Einwohnerzahl bei Wikidata verschieden]]'
end
if statements[2] then
einwohner = einwohner .. ' (['
.. '//wikidata.beta.wmflabs.org/wiki/' .. id .. '#P166971'
.. ' weitere Angaben vorhanden])'
end
end
local statements = mw.wikibase.getBestStatements( id, 'P166922' )
local plz = ''
-- Sammle alle Main-Snaks in einer Lua-Tabelle und formatiere sie mit dem
-- Wikibase-Formatierer im Standard-Format (Komma-getrennt)
-- local snaks = {}
-- for index, statement in pairs( statements ) do
-- table.insert( snaks, statement.mainsnak )
-- end
-- plz = mw.wikibase.formatValues( snaks )
-- Oder selbst formatieren
for index, statement in pairs( statements ) do
if plz ~= '' then
plz = plz .. ', '
end
plz = plz .. statement.mainsnak.datavalue.value
end
return '{| class="wikitable" style="float: right; width: 300px;"\n'
.. '| Einwohner || ' .. einwohner .. '\n'
.. '|-\n'
.. '| Postleitzahl || ' .. plz .. '\n'
.. '|}'
--.. '<pre>' .. mw.dumpObject( statements ) .. '</pre>'
end
return exports