Modul:Klasse
Seiten-Übersicht
| Hauptseite | Unterseiten | ||
|---|---|---|---|
| Allgemein | |||
| Faktenbox | Vorlagen | ||
| Formulare |
|
||
| Module | |||
| Abfrage | Vorlagen |
| |
| Formulare |
| ||
| Sonstige | |||
Faktenbox()
Die Faktenbox der Klassen.
Formular()
Baut das Formular einer Artikelseite (Lemma) einer Klasse zusammen.
Als Basis wird dafür die in der jeweiligen Klasse eingetragene Attribut:AttributListe genommen, daraus die Attribut-Datentabelle attr_data generiert und diese weiter an attrForm() im Modul:Formular übergeben.
faktenboxDatenTab()
Baut den Daten-Tab der Faktenbox einer Artikelseite (Lemma) einer Klasse zusammen.
Als Basis wird dafür die in der jeweiligen Klasse eingetragene Attribut:AttributListe genommen, daraus die Attribut-Datentabelle attr_data generiert und dann zeilenweise in Reihenfolge der AttributListe abgearbeitet.
Dabei werden die verschiedenen Sonderfälle der Faktenbox-Zeilen beachtet (z. B. Denkmalschutz-Aktennummer, Datum, Ehemals, ...). Siehe Modul:Faktenbox/Zeilen.
getAttrData()
Gibt Attribut-Datentabelle attr_data zurück.
attrListParser()
Analysiert übergebene Attribut:AttributListe und gibt von Attribut-Datentabelle attr_data die Werte attr_data.form_layout, attr_data.width und attr_data.list zurück.
Attribut-Datentabelle attr_data
attr_dataattr_data.form_layout= 2D-Layout des Formulars und entspricht der Attribut:AttributListe der jeweiligen Klasse (Lua-Format). Aktuell aber noch nicht umgesetzt!attr_data.width= Layout-Breite (Spaltenanzahl). Wenn 0, dann Attribut:AttributListe leerattr_data.list= Ein-dimensionale Liste der Attribute entsprichend der Attribut:AttributListe der jeweiligen Klasse (Lua-Format). Reihenfolge bestimmt Zeilen-Reihefolge in der Faktenbox und im Formular.attr_data.attr= Tabelle mit allen Attributen der in der Attribut:AttributListe angegebenen Attribute.attr_data.attr[<attr>]= Tabelle mit den Attributen des Attributsattr(z. B. Attribut:Baujahr besitzt Attribut:Datentyp = Seite). Siehe Modul:Attribut#getAttrAttributes()
local p = {} --p stands for package
local c = require("Module:Common")
function p.Faktenbox( frame )
local args = frame:getParent().args
local t = p.daten( frame, args )
-- Use preprocess to render the factbox and all contens at once
return frame:preprocess(t)
end
function p.daten(frame, args)
local title = mw.title.getCurrentTitle().text
local t = '<table class="wikitable">'..
'<th>[[FürthWiki:Semantik]]</th>'..
'<th colspan="3">'..'[[KlassenName::'..title..']]</th>'
t=t..'<tr>'..
'<td>[[Attribut:KlassenBild|Bild dieser Klasse]]</td>'
if not c.isEmpty(args.KlassenBild) then
t=t..'<td colspan="3"><div class="ImageLink">[[Datei:'..
args.KlassenBild..'|48px]] [[KlassenBild::Datei:'..
args.KlassenBild..']]</div></td>'
mw.smw.set{["Bild"] = "Datei:" .. args.KlassenBild}
end
t=t..'<tr>'..
'<td>[[Attribut:Bild|Bild dieser Klasse]]</td>'
if not c.isEmpty(args.Bild) then
t=t..'<td colspan="3"><div class="ImageLink">[[Datei:'..
args.Bild..'|48px]] [[Bild::Datei:'..
args.Bild..']]</div></td>'
mw.smw.set{["KlassenBild"] = "Datei:" .. args.Bild}
end
t=t..'</tr><tr>'..
'<td>[[Attribut:KlassenVorlage|Vorlage]]</td>'
t=t..'<td colspan="3">[[KlassenVorlage::Vorlage:'..title..']]</td>'
t=t..'</tr><tr>'..
'<td>[[Attribut:KlassenModul|Modul]]</td>'
t=t..'<td colspan="3">[[KlassenModul::Modul:'..title..']]</td>'
t=t..'</tr><tr>'..
'<td>[[Attribut:KlassenKategorie|Kategorie]]</td>'
if not c.isEmpty(args.KlassenKategorie) then
t=t..'<td colspan="3">[[KlassenKategorie::Kategorie:'..args.KlassenKategorie..']]</td>'
end
t=t..'</tr><tr>'..
'<td>[[Attribut:KlassenFormular|Formular]]</td>'
t=t..'<td colspan="3">[[KlassenFormular::Formular:'..title..']]</td>'
t=t..'</tr><tr>'..
'<td>[[Attribut:Suchformular|Suchformular]]</td>'
if not c.isEmpty(args.KlassenKategorie) then
t=t..'<td colspan="2">[[Suchformular::Abfrage_'..args.KlassenKategorie..']]</td>'..
'<td>[[Formular:Abfrage_'..args.KlassenKategorie..']]</td>'
end
t=t..'</tr><tr>'..
'<td>[[Attribut:Suchvorlage|Suchvorlage]]</td>'
if not c.isEmpty(args.KlassenKategorie) then
t=t..'<td colspan="2">[[Suchvorlage::Abfrage_'..args.KlassenKategorie..']]</td>'..
'<td>[[Spezial:Abfrage_ausführen/Abfrage_'..args.KlassenKategorie..']]</td>'
end
t=t..'</tr><tr>'..
'<td>[[Attribut:AttributListe|AttributListe]]</td>'
if not c.isEmpty(args.AttributListe) then
t=t..'<td colspan="3">[[AttributListe::'..args.AttributListe..']]</td>'
end
t=t..'<tr>'..
'<td>[[Bild:IconSearch.svg|16px|semantisches Browsen|link=Spezial:Durchsuchen/{{NAMESPACE}}:{{PAGENAME}}]]</td>'..
'<td colspan="3">[[Spezial:Durchsuchen/{{NAMESPACE}}:{{PAGENAME}}|semantisches Browsen]]</td>'..
'</tr>'
t=t..'</table>'
return t
end
return p