Modul:Trainer-Info: Unterschied zwischen den Versionen

Aus LASK Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 59: Zeile 59:


     end
     end
    -- Bild
    if bild ~= "" then


        box
            :tag("tr")
                :tag("td")
                    :attr("colspan", "2")
                    :css("text-align", "center")
                    :wikitext(
                        '[[Datei:' .. bild .. '|250px]]'
                    )
                    :done()
            :done()
    end
     -- Alle Felder automatisch hinzufügen
     -- Alle Felder automatisch hinzufügen
     for _, field in ipairs(fields) do
     for _, field in ipairs(fields) do

Version vom 9. September 2026, 16:49 Uhr

Die Dokumentation für dieses Modul kann unter Modul:Trainer-Info/Doku erstellt werden

local p = {}


-- Erstellt eine Zeile der Infobox
local function addRow(box, label, value)

    if value and value ~= "" then

        box
            :tag("tr")
                :tag("th")
                    :wikitext(label)
                    :done()
                :tag("td")
                    :wikitext(value)
                    :done()
            :done()

    end

end


-- Liste der möglichen Felder
local fields = {
	{"name", "Name"},
    {"tenure", "Amtszeiten"},
    {"pps", "Punkteschnitt Gesamt"},
    {"days_in_office", "Amtszeit Gesamt in Tagen"},
    {"games", "Pflichtspiele Gesamt"},
}


-- Hauptfunktion
function p.main(frame)

    -- Parameter der Vorlage holen
    local args = frame:getParent().args


    -- Grundparameter
    local titel = args.titel or ""
    local bild = args.bild or ""
    local bildbeschreibung = args.bildbeschreibung or ""


    -- Tabelle erstellen
    local box = mw.html.create("table")
        :addClass("infobox")


    -- Titel
    if titel ~= "" then

        box
            :tag("caption")
                :wikitext(titel)
                :done()

    end
    -- Bild
    if bild ~= "" then

        box
            :tag("tr")
                :tag("td")
                    :attr("colspan", "2")
                    :css("text-align", "center")
                    :wikitext(
                        '[[Datei:' .. bild .. '|250px]]'
                    )
                    :done()
            :done()

    end
    -- Alle Felder automatisch hinzufügen
    for _, field in ipairs(fields) do

        local parameter = field[1]
        local label = field[2]

        local value = args[parameter]

        addRow(box, label, value)

    end

    -- HTML zurückgeben
    return tostring(box)

end
return p