Modul:Faktenbox/Doku: Unterschied zwischen den Versionen

 
(9 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 9: Zeile 9:
Sie kann als zusätzliche Faktenboxen auf einer Seite eingebaut werden ähnlich [[Vorlage:Tabbox]].
Sie kann als zusätzliche Faktenboxen auf einer Seite eingebaut werden ähnlich [[Vorlage:Tabbox]].
Sie setzt ebenso Attribute wie die regulären Faktenboxen z.B. von Gebäuden, Straßen, Personen usw.
Sie setzt ebenso Attribute wie die regulären Faktenboxen z.B. von Gebäuden, Straßen, Personen usw.
=== Wrapper ===
Funktionsaufrufe von Modul:Faktenbox werden an die Unterseiten-Module weitergereicht.


== Funktionen [[Modul:Faktenbox/Tabs]] ==
== Funktionen [[Modul:Faktenbox/Tabs]] ==
Zeile 50: Zeile 53:


=== <code>zeileKategorieSeite()</code> ===
=== <code>zeileKategorieSeite()</code> ===
Diese Zeile ist die oberste Zeile eines Daten-Tabs, welche nochmal den Namen des Objekts und einen Link zur Klassen-Kategorie anzeigt und das [[Attribut:Seite]] setzt.
Diese Zeile ist die oberste Zeile eines Daten-Tabs, welche nochmal den Namen des Objekts und einen Link zur Klassen-Kategorie anzeigt setzt.


=== <code>zeileStrasseHnr()</code> ===
=== <code>zeileStrasseHnr()</code> ===
Zeile 63: Zeile 66:


=== <code>zeileDatum()</code> ===
=== <code>zeileDatum()</code> ===
Zeile um ein Datum standardisiert per <code>linkFormDate()</code> anzuzeigen.
Zeile um ein Datum standardisiert per <code>linkFormDateAttrList()</code> anzuzeigen.
 
=== <code>zeileEndeDatum()</code> ===
Wie zeileDatum(), aber dass Ende-Attribute ([[Attribut:Ehemals]], [[Attribut:Verstorben]], ...) automatisch gesetzt und nicht angezeigt wird, wenn Ende-Datum ([[Attribut:Schließungsdatum]], [[Attribut:Todesdatum]], ...) angegeben.
 
=== <code>zeileEndeJahr()</code> ===
Wie zeileDatum(), aber dass Ende-Attribute ([[Attribut:Ehemals]], ...) automatisch gesetzt und nicht angezeigt wird, wenn Ende-Jahr ([[Attribut:Abrissjahr]], ...) angegeben.


=== <code>zeileSemantikBrowsenAbfrage()</code> ===
=== <code>zeileSemantikBrowsenAbfrage()</code> ===
Zeile 102: Zeile 111:
#* <code>val</code> 1:1 angezeigt und ggf. gerendert (nicht innerhalb <code><nowiki>[[Attribut::Wert]]</nowiki></code>)
#* <code>val</code> 1:1 angezeigt und ggf. gerendert (nicht innerhalb <code><nowiki>[[Attribut::Wert]]</nowiki></code>)
#* Attribut <code>name</code> mit <code>val</code> per <code><nowiki>{{#set:Attribut=Wert}}</nowiki></code> unsichtbar im Hintergrund gesetzt, auch wenn das Verarbeitungsfehler provoziert (gewollt)
#* Attribut <code>name</code> mit <code>val</code> per <code><nowiki>{{#set:Attribut=Wert}}</nowiki></code> unsichtbar im Hintergrund gesetzt, auch wenn das Verarbeitungsfehler provoziert (gewollt)
=== <code>setUrlAttr()</code> ===
Setzen eines URL-Attributs (https:/http:).
=== <code>setEmailAttr()</code> ===
Setzen eines E-Mail-Attributs (mailto:).
=== <code>setTelAttr()</code> ===
Setzen eines Telefon-Attributs (tel:).


=== <code>setStandardAttr()</code> ===
=== <code>setStandardAttr()</code> ===
Setzen eines Standard-Attributs (nicht Datentyp Seite).
Setzen eines Standard-Attributs.
Klammerwerte werden optional abgetrennt und Attribut-Wert wird optional nur angezeigt, aber nicht gesetzt.
Klammerwerte werden optional abgetrennt und Attribut-Wert wird optional nur angezeigt, aber nicht gesetzt.


== [[Modul:Faktenbox/Zeilen/RedLinks]] ==
=== <code>getTelUri()</code> ===
Standard-konformes Bilden einer Telefon-URI.
 
=== [[Modul:Faktenbox/Zeilen/RedLinks]] ===
Enthält Tabelle mit Attributen, die nicht als rote Links angezeigt werden sollen.
Enthält Tabelle mit Attributen, die nicht als rote Links angezeigt werden sollen.


== Funktionen [[Modul:Faktenbox/Common]] ==
== Funktionen [[Modul:Faktenbox/Common]] ==


=== <code>common()</code> ===
=== <code>postprocess()</code> ===
Sonstige gemeinsame Dinge anfügen
Sonstige gemeinsame Dinge anfügen
* Klasse
* Klasse
Zeile 118: Zeile 139:
* Kategorien
* Kategorien
* Wartung
* Wartung
Ebenso werden die Attribute final gesetzt, sofern keine transcludierte Unterseite.


=== <code>fbdata()</code> ===
=== <code>getFbdata()</code> ===
Erstellt Faktenbox-Daten-Tabelle.
Erstellt Faktenbox-Daten-Tabelle.
Außerdem:
* Setzt Attribut:Seite und Attribut:TopSeite
* Berechnet und setzt Attribut:Hash auf Basis aller fbdata.pargs
* Prüft, ob die Seite mit der Faktenbox eine transcludierte Unterseite ist, und setzt fbdata.transcluded
=== <code>addWartungsmeldung()</code> ===
Wartungsmeldung zu Attribut:Wartungsmeldung hinzufügen.
Wird final gesetzt in <code>postprocess()</code>.


== <code>fbdata</code>-Daten-table ==
== <code>fbdata</code>-Daten-table ==
Um die Parameter-Übergabe zu obigen Funktionen zu vereinfachen wird die <code>fbdata</code>-Daten-table verwendet, in der folgende Daten abgelegt werden:
Um die Parameter-Übergabe zu obigen Funktionen zu vereinfachen wird die <code>fbdata</code>-Daten-table verwendet, in der folgende Daten abgelegt werden:
* <code>fbdata.frame</code> = <code>frame</code> von <code>Faktenbox(frame)</code>
* <code>fbdata.frame</code> = <code>frame</code> von <code>Faktenbox(frame)</code>
* <code>fbdata.args</code> = <code>frame.args</code>. Beispiel: <code>fbdata.args["Ehemals"]</code> oder <code>fbdata.args.Ehemals</code>
* <code>fbdata.pargs</code> = <code>frame:getParent().args</code>. Beispiel: <code>fbdata.pargs["Ehemals"]</code> oder <code>fbdata.pargs.Ehemals</code>
* <code>fbdata.pargs</code> = <code>frame:getParent().args</code>. Beispiel: <code>fbdata.pargs["Ehemals"]</code> oder <code>fbdata.pargs.Ehemals</code>
* <code>fbdata.workmode </code> = <code>fbdata.pargs["Work"]</code> ist true
* <code>fbdata.klasse</code> Klassen-table. Beispiel Kirche: <code>fbdata.klasse = {"Kirche", "Gebäude"}</code> ("Kirche" ist primäre und "Gebäude" sekundäre Klasse)
* <code>fbdata.klasse</code> Klassen-table. Beispiel Kirche: <code>fbdata.klasse = {"Kirche", "Gebäude"}</code> ("Kirche" ist primäre und "Gebäude" sekundäre Klasse)
* <code>fbdata.kategorie</code> Kategorien-table. Beispiel Kirche: <code>fbdata.kategorie = {"Kirchen", "Gebäude"}</code> ("Kirchen" ist primäre und "Gebäude" sekundäre Kategorie)
* <code>fbdata.kategorie</code> Kategorien-table. Beispiel Kirche: <code>fbdata.kategorie = {"Kirchen", "Gebäude"}</code> ("Kirchen" ist primäre und "Gebäude" sekundäre Kategorie)
Zeile 146: Zeile 178:
** <code>fbdata.attr.noattr</code> = Attribute nicht setzen Flag
** <code>fbdata.attr.noattr</code> = Attribute nicht setzen Flag
* <code>fbdata.geoobjects</code> = Geo-Objekte von [[Modul:Karte]] gefüllt
* <code>fbdata.geoobjects</code> = Geo-Objekte von [[Modul:Karte]] gefüllt
* <code>fbdata.transcluded </code> = Faktenbox ist in transcludierte Unterseite
* Ggf. weitere Klassen-abhängige Einträge
* Ggf. weitere Klassen-abhängige Einträge


Zeile 165: Zeile 198:
* [[Modul:Wiki]]
* [[Modul:Wiki]]
* [[Modul:Geo]]
* [[Modul:Geo]]
* [[Modul:Karte]]
* [[Modul:SMW]]
* [[Modul:SMW]]
* [[Modul:LinkFormDatum]]
* [[Modul:LinkFormDatum]]
</div>
</div>