Zuletzt bearbeitet vor 3 Monaten
von Xineohp1506

Modul:Publikation/Related: Unterschied zwischen den Versionen

K (Xineohp1506 verschob die Seite Modul:Publikation/SerieRelated nach Modul:Publikation/Related, ohne dabei eine Weiterleitung anzulegen)
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
local serieRelated = {}
local related = {}
local helper = require('Modul:Publikation/Helper')
local getArgs = require("Module:Arguments").getArgs


-- Funktion zur Anzeige der Bücher in einer Serie
function related.render(frame)
function serieRelated.render(frame)
    if not mw.smw then
     local args = frame.args
        return "Semantic MediaWiki-Erweiterung nicht gefunden."
     local seriesTitle = args["Hat Serie"] or ""
    end
 
     local args = getArgs(frame)
    local query = args.query or ""
    local columns = args.columns or ""
     local limit = tonumber(args.limit) or 10
 
    if query == "" or columns == "" then
        return "Fehler: Abfrage und Spalten müssen angegeben werden."
    end
 
    -- QueryResult ausführen
    local queryResult = mw.smw.getQueryResult({ query = query .. "|?" .. columns:gsub(",", "|?") .. "|limit=" .. limit })
 
    if not queryResult or not queryResult.results or next(queryResult.results) == nil then
        return "Keine Ergebnisse gefunden."
    end
 
    -- Tabelle erstellen
    local output = "{| class=\"wikitable\"\n"
    output = output .. "! " .. columns:gsub(",", " !! ") .. "\n"


     if seriesTitle == "" then
     for _, result in pairs(queryResult.results) do
         return "<p>Kein Serienname angegeben.</p>"
        output = output .. "|-\n"
        for _, column in ipairs(mw.text.split(columns, ",")) do
            local value = result.printouts[column] and result.printouts[column][1] or "—"
            if column == "Hat Titel" and result.fulltext then
                value = "[[" .. result.fulltext .. "|" .. value .. "]]"
            end
            output = output .. "| " .. value .. " || "
         end
        output = output:sub(1, -4) .. "\n" -- Entfernt das letzte " || "
     end
     end


     -- Ask-Abfrage
     output = output .. "|}"
    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 output
     return helper.askQuery({ query = query, headers = headers, limit = "10" })
end
end


return serieRelated
return related

Version vom 24. November 2024, 01:13 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.render(frame)
    if not mw.smw then
        return "Semantic MediaWiki-Erweiterung nicht gefunden."
    end

    local args = getArgs(frame)
    local query = args.query or ""
    local columns = args.columns or ""
    local limit = tonumber(args.limit) or 10

    if query == "" or columns == "" then
        return "Fehler: Abfrage und Spalten müssen angegeben werden."
    end

    -- QueryResult ausführen
    local queryResult = mw.smw.getQueryResult({ query = query .. "|?" .. columns:gsub(",", "|?") .. "|limit=" .. limit })

    if not queryResult or not queryResult.results or next(queryResult.results) == nil then
        return "Keine Ergebnisse gefunden."
    end

    -- Tabelle erstellen
    local output = "{| class=\"wikitable\"\n"
    output = output .. "! " .. columns:gsub(",", " !! ") .. "\n"

    for _, result in pairs(queryResult.results) do
        output = output .. "|-\n"
        for _, column in ipairs(mw.text.split(columns, ",")) do
            local value = result.printouts[column] and result.printouts[column][1] or "—"
            if column == "Hat Titel" and result.fulltext then
                value = "[[" .. result.fulltext .. "|" .. value .. "]]"
            end
            output = output .. "| " .. value .. " || "
        end
        output = output:sub(1, -4) .. "\n" -- Entfernt das letzte " || "
    end

    output = output .. "|}"

    return output
end

return related