Modulo:Collegamenti esterni: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
supporto per titoli specifici di ciascun link (P1476 o P1810). P2093 alternativa per autore
Riga 125:
-- @return {string}
function ExtLink:_getTitolo()
local titolo = self.extraConf.titolo[1] or self.title
if self.qualifier and self.qualifier[1] ~= nil then
return string.format('%s (%s)', self.titletitolo, self.qualifier[1])
else
return self.titletitolo
end
end
 
-- Restituisce il parametro altrilink per il modulo Citazione.
-- Nel caso di valori multipli, genera quelli successivi al primo.
--
-- @return {table}
function ExtLink:_getAltriLink()
local rettbl = {}
local titolo, specifica
if self.qualifier then
for i = 2, #self.url do
local tbl = {}
for ititolo = 2, #self.urlextraConf.titolo[i] door self.title
if self.qualifier and self.qualifier[i] =~= nil then
specifica = self.qualifier[i] = 'altra versione'
else
if titolo == self.title then
specifica = 'altra versione'
else
specifica = nil -- se titoli diversi, va bene anche senza specificazione
end
table.insert(tbl, { self.url[i], string.format('%s (%s)', self.title, self.qualifier[i]) })
end
if specifica then
ret = tbl
titolo = string.format('%s (%s)', titolo, specifica)
end
table.insert(tbl, { self.url[i], string.format('%s (%s)', self.title, self.qualifier[i])titolo })
end
return rettbl
end
 
Riga 224 ⟶ 233:
titolo = self:_getTitolo(),
altrilink = self:_getAltriLink(),
posttitolo = self:_getPostTitolo(),
sito = self:_getSito(),
editore = self.linkConf.editore,
Riga 308 ⟶ 316:
local claims = mWikidata._getClaims(linkConf.pid, { from = self.from, snaktype = 'value' })
if claims and #claims > 0 then
-- qualificatoriQualificatori generali
-- In caso di valori multipli, il titolo viene letto per tutti; gli altri qualificatori solo per il primo (altrimenti bisogna rivedere la formattazione dei valori multipli)
extraConf = {}
extraConf.autore = mWikidata._formatQualifiers(claims[1], 'P50') or mWikidata._formatQualifiers(claims[1], 'P2093') -- come item o stringa
extraConf.volume = mWikidata._formatQualifiers(claims[1], 'P478')
extraConf.pagina = mWikidata._formatQualifiers(claims[1], 'P304')
extraConf.data = mWikidata._formatQualifiers(claims[1], 'P577')
extraConf.titolo = {}
-- uno o più url ed eventuali qualificatori per distinguerli
for i, claim in ipairs(claims) do
extraConf.titolo[i] = mWikidata._formatQualifiers(claim, 'P1476') or mWikidata._formatQualifiers(claim, 'P1810') -- titolo o "indicato come"
end
-- unoUno o più url ed eventuali qualificatori per distinguerli
url = {}
for i, claim in ipairs(claims) do