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 )
pf = frame:getParent()
args = pf.args
t = p.Daten( frame, args )
-- The tab "Daten" is visible everytime
--tpl_daten = p.DatenOld( frame, args )
--tab_daten='<tab name=Daten>' ..
--tpl_daten .. '</tab>'
--t ='<div class=factbox><tabs>' ..
-- tab_daten ..
-- '</tabs></div>'
-- Use preprocess to render the factbox and all contens at once
return frame:preprocess(t)
end
function p.Daten(frame, args)
title = mw.title.getCurrentTitle().text
t = '<table class="wikitable">'..
'<th colspan="4">'..title..'</th>'
t=t..'<tr>'..
'<td>[[Attribut:KlassenBildHauptseite|Bild auf Hauptseite (48px)]]</td>'
if not isEmpty(args.KlassenBildHauptseite) then
t=t..'<td colspan="3">[[KlassenBildHauptseite::Datei:'..args.KlassenBildHauptseite..']]</td>'
end
t=t..'</tr><tr>'..
'<td>[[Attribut:KlassenBildKategorie|Bild in Kategorie (64px)]]</td>'
if not isEmpty(args.KlassenBildKategorie) then
t=t..'<td colspan="3">[[KlassenBildKategorie::Datei:'..args.KlassenBildKategorie..']]</td>'
end
t=t..'</tr><tr>'..
'<td>[[Attribut:KlassenVorlage|Vorlage]]</td>'
if not isEmpty(title) then
t=t..'<td colspan="3">[[KlassenVorlage::Vorlage:'..title..']]</td>'
end
t=t..'</tr><tr>'..
'<td>[[Attribut:KlassenModul|Modul]]</td>'
if not isEmpty(title) then
t=t..'<td colspan="3">[[KlassenModul::Modul:'..title..']]</td>'
end
t=t..'</tr><tr>'..
'<td>[[Attribut:KlassenKategorie|Kategorie]]</td>'
if not isEmpty(args.KlassenKategorie) then
t=t..'<td colspan="3">[[KlassenKategorie::Kategorie:'..args.KlassenKategorie..']]</td>'
end
t=t..'</tr><tr>'..
'<td>[[Attribut:KlassenFormular|Formular]]</td>'
if not isEmpty(title) then
t=t..'<td colspan="3">[[KlassenFormular::Formular:'..title..']]</td>'
end
t=t..'</tr><tr>'..
'<td>[[Attribut:Suchformular|Suchformular]]</td>'
if not isEmpty(args.KlassenKategorie) then
t=t..'<td colspan="3">[[Suchformular::Abfrage_'..args.KlassenKategorie..']]</td>'
end
t=t..'</tr><tr>'..
'<td>[[Attribut:Suchvorlage|Suchvorlage]]</td>'
if not isEmpty(args.KlassenKategorie) then
t=t..'<td colspan="3">[[Suchvorlage::Abfrage_'..args.KlassenKategorie..']]</td>'..
'<td>[[Spezial:Abfrage_ausführen/Abfrage_:'..args.KlassenKategorie..']]</td>'
end
t=t..'<tr>'..
'<td>[[Bild:IconSearch32px.png|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
function p.DatenOld( frame, args )
t = frame:expandTemplate{title = 'Klasse.Daten', args={
KlassenName=mw.title.getCurrentTitle().text,
KlassenBildHauptseite=args.KlassenBildHauptseite,
KlassenBildKategorie=args.KlassenBildKategorie,
KlassenKategorie=args.KlassenKategorie}
}
return t
end
return p