Info 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 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]
    
    local sitelinks = mw.wikibase.getEntity(itemId)['sitelinks']
    local res = ''
    for k,v in pairs(sitelinks) do
        sitelink = sitelinks[k]
        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