Modul:Ft.dk link
Udseende
Dette Lua-modul bruges på ca. 44.500 sider, eller omkring 5% af alle sider. For at undgå store forstyrrelser og unødvendigt pres på serverne, bør alle ændringer af skabelonen først afprøves i dens tilhørende modulets /sandkasse eller /test-undersider, eller i din egen module sandkasse. De færdigafprøvede ændringer kan derefter overføres til denne side ved en enkelt redigering. Du bør også overveje at diskutere ændringer på diskussionssiden før du implementerer dem. |
Brug
F.eks. vil
{{#invoke:Ft.dk link|link_url_for_denne_side}}
på Per Stig Møller resultere i linket:
https://www.ft.dk/medlemmer/mf/p/per-stig-møller
Den sidste del af URL'en (p/per-stig-møller) er genereret fra wikidata:Property:P7882 som på Hr. Møllers wikidata-entity er sat til "per-stig-møller".
På denne måde kan links genereres til forskellige sprog på forskellige Wikipediaer, og man vil kun behøve at opdatere centralt én gang per politiker.
Dette modul bruges af Skabelon:Infoboks MF, så hvis du bare fylder Wikidata med relevant information og indsætter skabelonen uden parametre, vil mange informationer automatisk blive hentet fra Wikidata. Se f.eks. Pia Adelsteen for en sådan simpel brug.
local p = {}
function p.wikidata_id_for_denne_side()
return mw.wikibase.getEntityIdForCurrentPage()
end
function p.label_for_denne_side()
return mw.wikibase.getLabel()
end
function p.link_url_for_denne_side()
return p.link_url(mw.wikibase.getEntityIdForCurrentPage())
end
local url_prefiks = 'https://www.ft.dk/medlemmer/mf/'
function p.link_url(entity)
local prop = entity and mw.wikibase.getBestStatements(entity, 'P7882')
if prop and prop[1] and prop[1].mainsnak.snaktype == 'value' then
local ft_id = prop[1].mainsnak.datavalue.value
if mw.ustring.find(ft_id, '/') ~= nil then
-- Der er politikere som f.eks. Özlem Cekic hvor ft.dk biografiens URL starter med 'oe/' i stedet for f.eks. 'a/'.
-- Dette sker hvis det første bogstav ikke er i ASCII.
-- Så vi tillader propertyen at indeholde at manuelt angive denne begyndelse. Folk som Özlem vil bruge denne gren af koden.
return url_prefiks .. ft_id
end
local navn_prefiks = mw.ustring.sub(ft_id, 1, 1)
return url_prefiks .. navn_prefiks .. '/' .. ft_id
end
return ''
end
return p