Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 2: | Zeile 2: | ||
local getArgs = require("Module:Arguments").getArgs | local getArgs = require("Module:Arguments").getArgs | ||
function related. | function related.buchRelated(frame) | ||
if not mw.smw then | if not mw.smw then | ||
return "Semantic MediaWiki-Erweiterung nicht gefunden." | return "Semantic MediaWiki-Erweiterung nicht gefunden." | ||
end | end | ||
-- Debugging: | -- Debugging: Eingehende Parameter anzeigen | ||
local args = frame.args | local args = frame.args | ||
local query = args["query"] or "" | |||
local query = args["query"] | local limit = tonumber(args["limit"]) or 5 | ||
local limit = args["limit"] or 5 | |||
if | -- Sicherstellen, dass eine Query übergeben wird | ||
if query == "" then | |||
return "Keine Abfrage angegeben." | return "Keine Abfrage angegeben." | ||
end | end | ||
-- | -- Abfrage-String erstellen | ||
local queryResult = mw.smw.getQueryResult({ | |||
query = query, | |||
limit = limit | |||
}) | |||
-- Kein Ergebnis gefunden | |||
-- Kein Ergebnis | |||
if not queryResult or not queryResult.results then | if not queryResult or not queryResult.results then | ||
return | return "Keine Ergebnisse gefunden." | ||
end | end | ||
-- | -- Tabelle erstellen | ||
local output = '<table class="wikitable sortable">' | local output = '<table class="wikitable sortable">' | ||
output = output .. '<tr>' | output = output .. '<tr><th>Titel</th><th>Band</th><th>Standort</th><th>Inhaltszusammenfassung</th></tr>' | ||
-- | for _, result in ipairs(queryResult.results) do | ||
-- Titel extrahieren und verlinken | |||
local title = result.fulltext or "Unbekannt" | |||
local titleLink = '[[' .. title .. '|' .. (result.printouts["Hat Titel"] and result.printouts["Hat Titel"][1] or title) .. ']]' | |||
-- Band, Standort und Inhaltszusammenfassung extrahieren | |||
local band = result.printouts["Band"] and result.printouts["Band"][1] or "N/A" | |||
local standort = result.printouts["Standort"] and result.printouts["Standort"][1] or "N/A" | |||
local summary = result.printouts["Inhaltszusammenfassung"] and result.printouts["Inhaltszusammenfassung"][1] or "" | |||
-- Zeile hinzufügen | |||
output = output .. string.format( | |||
'<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>', | |||
titleLink, | |||
band, | |||
standort, | |||
summary | |||
) | |||
end | end | ||
output = output .. '</table>' | output = output .. '</table>' | ||
return output | return output | ||
end | end | ||
return related | return related |
Version vom 24. November 2024, 01:50 Uhr
Die Dokumentation für dieses Modul kann unter Modul:Publikation/Related/Doku erstellt werden
local related = {}
local getArgs = require("Module:Arguments").getArgs
function related.buchRelated(frame)
if not mw.smw then
return "Semantic MediaWiki-Erweiterung nicht gefunden."
end
-- Debugging: Eingehende Parameter anzeigen
local args = frame.args
local query = args["query"] or ""
local limit = tonumber(args["limit"]) or 5
-- Sicherstellen, dass eine Query übergeben wird
if query == "" then
return "Keine Abfrage angegeben."
end
-- Abfrage-String erstellen
local queryResult = mw.smw.getQueryResult({
query = query,
limit = limit
})
-- Kein Ergebnis gefunden
if not queryResult or not queryResult.results then
return "Keine Ergebnisse gefunden."
end
-- Tabelle erstellen
local output = '<table class="wikitable sortable">'
output = output .. '<tr><th>Titel</th><th>Band</th><th>Standort</th><th>Inhaltszusammenfassung</th></tr>'
for _, result in ipairs(queryResult.results) do
-- Titel extrahieren und verlinken
local title = result.fulltext or "Unbekannt"
local titleLink = '[[' .. title .. '|' .. (result.printouts["Hat Titel"] and result.printouts["Hat Titel"][1] or title) .. ']]'
-- Band, Standort und Inhaltszusammenfassung extrahieren
local band = result.printouts["Band"] and result.printouts["Band"][1] or "N/A"
local standort = result.printouts["Standort"] and result.printouts["Standort"][1] or "N/A"
local summary = result.printouts["Inhaltszusammenfassung"] and result.printouts["Inhaltszusammenfassung"][1] or ""
-- Zeile hinzufügen
output = output .. string.format(
'<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>',
titleLink,
band,
standort,
summary
)
end
output = output .. '</table>'
return output
end
return related