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