Modulo:DTBase: differenze tra le versioni

Vai alla navigazione Vai alla ricerca
Item added to References
mNessun oggetto della modifica
(Item added to References)
(28 versioni intermedie di uno stesso utente non sono mostrate)
Riga 396: Riga 396:
else
else
for _, Statement in pairs(Statements) do
for _, Statement in pairs(Statements) do
local Reference = mw.wikibase.getSitelink(Statement.mainsnak.datavalue.value.id)
local ReferenceItem = Statement.mainsnak.datavalue.value.id
local Reference = mw.wikibase.getSitelink(ReferenceItem)
if not Reference then
if not Reference then
Reference = Statement.mainsnak.datavalue.value.id
--Reference = Statement.mainsnak.datavalue.value.id
AllReferences[#AllReferences + 1] = "* [[Special:AboutTopic/" .. Reference .. "]]"
AllReferences[#AllReferences + 1] = "* [[Special:AboutTopic/" .. ReferenceItem .. "]] - " .. ReferenceItem
else
else
if frame.args['AddSemantic'] then
if frame.args['AddSemantic'] then
Reference = "Riferimento::" .. Reference
Reference = "Riferimento::" .. Reference
end
end
AllReferences[#AllReferences + 1] = "* [[" .. Reference .. "]]"
AllReferences[#AllReferences + 1] = "* [[" .. Reference .. "]] - " .. ReferenceItem
end
end
end
end
Riga 415: Riga 416:
-- @return A bullet list of backlinks
-- @return A bullet list of backlinks
function p.ListBackReferences(frame)
function p.ListBackReferences(frame)
-- See example here https://github.com/SemanticMediaWiki/SemanticScribunto/blob/master/docs/mw.smw.getQueryResult.md
-- See also here https://doc.semantic-mediawiki.org/md_content_extensions_SemanticScribunto_docs_mw_8smw_8getQueryResult.html
local AllBackReferences = {}
--[=[
local QueryResult = mw.smw.ask('[[Riferimento::' .. mw.title.getCurrentTitle().text .. ']]|?DataTrek ID|format=broadtable')
local QueryResult = mw.smw.ask('[[Riferimento::' .. mw.title.getCurrentTitle().text .. ']]|?DataTrek ID|format=broadtable')
Riga 420: Riga 425:
return "''Nessun risultato''"
return "''Nessun risultato''"
else
else
return table.concat(QueryResult, string.char(10))
for _, Row in pairs(QueryResult) do
local Items = {}
for _, Field in pairs(Row) do
if string.sub(Field, 1, 7) == "[[File:" then
Items[#Items + 1] = "[[:" .. string.sub(Field, 3)
else
Items[#Items + 1] = Field
end
end
AllBackReferences[#AllBackReferences + 1] = "*" .. table.concat(Items, ', ')
end
return table.concat(AllBackReferences, string.char(10))
end
end
]=]
--local QueryResult = mw.smw.getQueryResult('[[Riferimento::' .. mw.title.getCurrentTitle().text .. ']]|?DataTrek ID')
--local queryResult = mw.smw.getQueryResult( frame.args )
local QueryResult = mw.smw.getQueryResult('[[Riferimento::' .. mw.title.getCurrentTitle().text .. ']]|?DataTrek ID')
    if QueryResult == nil then
        return "''Nessun risultato''"
    end
    if type(QueryResult) == "table" then
        local Row = ""
        for k, v in pairs(QueryResult.results) do
            --[=[if  v.fulltext and v.fullurl then
                myResult = myResult .. k .. " | " .. v.fulltext .. " " .. v.fullurl .. " | " .. "<br/>"
            else
                myResult = myResult .. k .. " | no page title for result set available (you probably specified ''mainlabel=-')"
            end]=]
            if string.sub(v.fulltext, 1, 5) == "File:" then
Row = "[[:" .. v.fulltext .. "]]" --string.sub(v.fulltext, 3)
else
Row = "[[" .. v.fulltext .. "]]"
            end
            if v.printouts['DataTrek ID'][1] ~= nil then
            Row = Row .. " - " .. v.printouts['DataTrek ID'][1]
            end
           
AllBackReferences[#AllBackReferences + 1] = "*" .. Row
        end
        return table.concat(AllBackReferences, string.char(10))
    else
    return "''No table''"
    end
    return queryResult
end
end
return p
return p

Menu di navigazione