Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 1: | Zeile 1: | ||
local serie = {} | local serie = {} | ||
local getArgs = require('Module:Arguments').getArgs | |||
local helper = require("Modul:Publikation/Helper") | |||
local related = require("Modul:Publikation/Related") | |||
-- Funktion zur Generierung von Kategorien | -- Funktion zur Generierung von Kategorien | ||
Zeile 6: | Zeile 9: | ||
-- Kategorie für Serie | -- Kategorie für Serie | ||
if args[" | if args["Titel"] and args["Titel"] ~= "" then | ||
categories = categories .. "[[Category:Serie:" .. args[" | categories = categories .. "[[Category:Serie:" .. args["Titel"] .. "| ]]\n" | ||
end | end | ||
Zeile 57: | Zeile 60: | ||
-- Weitere Bücher in der Serie (unterhalb der Tabelle) | -- Weitere Bücher in der Serie (unterhalb der Tabelle) | ||
if args[" | if args["Titel"] then | ||
local relatedBooks = related.buchRelated({ | local relatedBooks = related.buchRelated({ | ||
series = args[" | series = args["Titel"], | ||
limit = 50 | limit = 50 | ||
}) | }) |
Version vom 24. November 2024, 13:25 Uhr
Die Dokumentation für dieses Modul kann unter Modul:Publikation/Serie/Doku erstellt werden
local serie = {}
local getArgs = require('Module:Arguments').getArgs
local helper = require("Modul:Publikation/Helper")
local related = require("Modul:Publikation/Related")
-- Funktion zur Generierung von Kategorien
local function addCategories(args)
local categories = ""
-- Kategorie für Serie
if args["Titel"] and args["Titel"] ~= "" then
categories = categories .. "[[Category:Serie:" .. args["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["Titel"] then
local relatedBooks = related.buchRelated({
series = args["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