Zuletzt bearbeitet vor 3 Monaten
von Xineohp1506

Modul:Publikation/Related: Unterschied zwischen den Versionen

Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
local serieRelated = {}
local serieRelated = {}
local helper = require('Modul:Publikation/Helper')


function serieRelated.getRelatedBooks(seriesTitle)
-- Funktion zur Anzeige der Bücher in einer Serie
     -- Sicherstellen, dass seriesTitle ein String ist
function serieRelated.render(frame)
     seriesTitle = type(seriesTitle) == "string" and mw.text.trim(seriesTitle) or ""
     local args = frame.args
     local seriesTitle = args["Hat Serie"] or ""


     if seriesTitle == "" then
     if seriesTitle == "" then
         return "Kein Serienname angegeben."
         return "<p>Kein Serienname angegeben.</p>"
     end
     end


     local query = "[[Hat Serie::" .. seriesTitle .. "]]|?Titel|?Autor|?Band|limit=100"
    -- Ask-Abfrage
     local result = mw.smw.getQueryResult(query)
     local query = "[[Hat Serie::" .. seriesTitle .. "]]|?Hat Titel|?Band|?Standort|?Inhaltszusammenfassung|sort=Band|order=ascending"
    local booksList = ""
     local headers = "Titel,Band,Standort,Inhaltszusammenfassung"


     -- Überprüfen, ob Ergebnisse vorliegen
     -- Rückgabe der Tabelle
     if result and result.results and next(result.results) then
     return helper.askQuery({ query = query, headers = headers, limit = "10" })
        booksList = '<ul>'
        for page, data in pairs(result.results) do
            local band = data.properties["Band"] and data.properties["Band"][1] or "Unbekannt"
            local titel = data.properties["Titel"] and data.properties["Titel"][1] or page
            booksList = booksList .. '<li>[[ ' .. page .. ' | Band ' .. band .. ': ' .. titel .. ']]</li>'
        end
        booksList = booksList .. '</ul>'
    else
        booksList = "Keine Bücher gefunden."
    end
 
    return booksList
end
end


return serieRelated
return serieRelated

Version vom 23. November 2024, 23:45 Uhr

Die Dokumentation für dieses Modul kann unter Modul:Publikation/Related/Doku erstellt werden

local serieRelated = {}
local helper = require('Modul:Publikation/Helper')

-- Funktion zur Anzeige der Bücher in einer Serie
function serieRelated.render(frame)
    local args = frame.args
    local seriesTitle = args["Hat Serie"] or ""

    if seriesTitle == "" then
        return "<p>Kein Serienname angegeben.</p>"
    end

    -- Ask-Abfrage
    local query = "[[Hat Serie::" .. seriesTitle .. "]]|?Hat Titel|?Band|?Standort|?Inhaltszusammenfassung|sort=Band|order=ascending"
    local headers = "Titel,Band,Standort,Inhaltszusammenfassung"

    -- Rückgabe der Tabelle
    return helper.askQuery({ query = query, headers = headers, limit = "10" })
end

return serieRelated