Modulo:Interlink
Istruzioni per l'uso
Questo è un modulo scritto in Lua. Le istruzioni che seguono sono contenute nella sottopagina Modulo:Interlink/man (modifica · cronologia)
Sandbox: Modulo:Interlink/sandbox (modifica · cronologia) · Sottopagine: lista · Test: Modulo:Interlink/test (modifica · cronologia · Esegui)
Questo è un modulo scritto in Lua. Le istruzioni che seguono sono contenute nella sottopagina Modulo:Interlink/man (modifica · cronologia)
Sandbox: Modulo:Interlink/sandbox (modifica · cronologia) · Sottopagine: lista · Test: Modulo:Interlink/test (modifica · cronologia · Esegui)
Questo modulo serve ad aggiungere a una pagina gli interlink corrispondenti a un certo elemento di Wikidata, diverso dall'elemento corrispondente alla pagina stessa (i cui interlink rimangono comunque automaticamente presenti). Può servire in casi particolari, quando è utile interlinkare le pagine di altre Wikipedie, ma per motivi organizzativi dei vari progetti l'elemento Wikidata è diverso.
{{#invoke:Interlink|addInterlinks|Q12345}}
aggiunge gli interlink dell'elemento Q12345{{#invoke:Interlink|addInterlinks|Q12345|P123}}
aggiunge gli interlink dell'elemento indicato alla proprietà P123 dell'elemento Q12345{{#invoke:Interlink|addInterlinks||P123}}
aggiunge gli interlink dell'elemento indicato alla proprietà P123 dell'elemento corrente
local getArgs = require('Modulo:Arguments').getArgs
local p = {}
function p.addInterlinks(frame)
local t = getArgs(frame)
local itemId = t[1] --e.g. Q123
local propertyId = t[2] --e.g. P456
if itemId == nil or itemId == '' then
itemId = mw.wikibase.getEntityIdForCurrentPage()
end
if propertyId ~= nil and propertyId ~= '' then
local claims = mw.wikibase.getBestStatements(itemId, propertyId)
itemId = claims[1].mainsnak['datavalue']['value']['id']
end
local sitelinks = mw.wikibase.getEntity(itemId)['sitelinks']
local res = ''
for k,v in pairs(sitelinks) do
local sitelink = sitelinks[k]
local globalSiteId = sitelink['site']
if globalSiteId:find('^[%w-]+wiki$')
and globalSiteId ~= 'itwiki'
and globalSiteId ~= 'commonswiki'
and globalSiteId ~= 'wikidatawiki'
and globalSiteId ~= 'specieswiki' then
local lang = globalSiteId:gsub('wiki$', '')
res = res .. '[['..lang..':'..sitelink['title']..']]'
end
end
return res
end
return p