Zuletzt bearbeitet vor 4 Tagen
von Xineohp1506

Modul:Publikation/Serie: Unterschied zwischen den Versionen

Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
local serie = {}
local serie = {}
-- Funktion zur Generierung von Kategorien
local function addCategories(args)
    local categories = ""
   
    -- Kategorie für Serie
    if args["Hat Titel"] and args["Hat Titel"] ~= "" then
        categories = categories .. "[[Category:Serie:" .. args["Hat Titel"] .. "| ]]\n"
    end
    return categories
end


function serie.render(frame)
function serie.render(frame)
     local args = frame:getParent().args  -- Abrufen der Vorlagenparameter
     local args = frame:getParent().args  -- Abrufen der Vorlagenparameter
     local output = '<table class="publikation serie">'
     local output = '<table class="publikation serie table">'


     -- Titel
     -- Titel
Zeile 18: Zeile 30:
     end
     end


    -- Serien ID
    if args["SerienID"] then
        output = output .. '<tr><td><strong>Serien ID</strong></td><td>[[SerienID::' .. args["SerienID"] .. ']]</td></tr>'
    end
   
     -- Complete volumes
     -- Complete volumes
     if args["Complete volumes"] then
     if args["Complete volumes"] then
Zeile 38: Zeile 55:


     output = output .. '</table>'
     output = output .. '</table>'
   
    -- Weitere Bücher in der Serie (unterhalb der Tabelle)
    if args["Hat Titel"] then
        local relatedBooks = related.buchRelated({
    series = args["Hat Titel"],
    limit = 50
})
        output = output .. '<div class="related-books">' ..
                '<h2>Weitere Bücher in der Serie:</h2>' ..
                  (relatedBooks or "<p>Keine weiteren Bände verfügbar.</p>") ..
                  '</div>'
    end
    -- Kategorien hinzufügen
    output = output .. addCategories(args)
     return output
     return output
end
end


return serie
return serie

Version vom 24. November 2024, 13:22 Uhr

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

local serie = {}

-- Funktion zur Generierung von Kategorien
local function addCategories(args)
    local categories = ""
    
    -- Kategorie für Serie
    if args["Hat Titel"] and args["Hat Titel"] ~= "" then
        categories = categories .. "[[Category:Serie:" .. args["Hat Titel"] .. "| ]]\n"
    end

    return categories
end

function serie.render(frame)
    local args = frame:getParent().args  -- Abrufen der Vorlagenparameter
    local output = '<table class="publikation serie table">'

    -- Titel
    local title = args["Titel"] or "Unbekannt"
    output = output .. '<tr><td><strong>Titel</strong></td><td>[[Hat Titel::' .. title .. ']]</td></tr>'

    -- Autor(en)
    if args["Autor"] then
        output = output .. '<tr><td><strong>Autor(en)</strong></td><td>'
        for author in mw.text.gsplit(args["Autor"], ",") do
            output = output .. '[[Hat Autor::' .. mw.text.trim(author) .. ']], '
        end
        output = output:sub(1, -3) .. '</td></tr>' -- Entfernt das letzte Komma
    end

    -- Serien ID
    if args["SerienID"] then
        output = output .. '<tr><td><strong>Serien ID</strong></td><td>[[SerienID::' .. args["SerienID"] .. ']]</td></tr>'
    end
    
    -- Complete volumes
    if args["Complete volumes"] then
        output = output .. '<tr><td><strong>Complete volumes</strong></td><td>[[Complete volumes::' .. args["Complete volumes"] .. ']]</td></tr>'
    end

    -- Serienbeschreibung
    if args["Hat SerienBeschreibung"] then
        output = output .. '<tr><td><strong>Beschreibung</strong></td><td>[[Hat SerienBeschreibung::' .. args["Hat SerienBeschreibung"] .. ']]</td></tr>'
    end

    -- Datensatz-IDs
    if args["Bücher"] then
        output = output .. '<tr><td><strong>Bücher (Datensatz-ID)</strong></td><td>'
        for id in mw.text.gsplit(args["Bücher"], ",") do
            output = output .. '[[Hat Datensatz ID::' .. mw.text.trim(id) .. ']], '
        end
        output = output:sub(1, -3) .. '</td></tr>' -- Entfernt das letzte Komma
    end

    output = output .. '</table>'
    
    -- Weitere Bücher in der Serie (unterhalb der Tabelle)
    if args["Hat Titel"] then
        local relatedBooks = related.buchRelated({ 
    		series = args["Hat Titel"], 
    		limit = 50 
		})
        output = output .. '<div class="related-books">' ..
                 '<h2>Weitere Bücher in der Serie:</h2>' ..
                  (relatedBooks or "<p>Keine weiteren Bände verfügbar.</p>") ..
                  '</div>'
    end

    -- Kategorien hinzufügen
    output = output .. addCategories(args)
    return output
end

return serie