15.082
Bearbeitungen
| (30 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
{{IstKlasse|Faktenbox}} | |||
Dieses Modul enthält gemeinsame Funktionen, um eine Faktenbox zu füllen | Dieses Modul enthält gemeinsame Funktionen, um eine Faktenbox zu füllen | ||
== <code> | == Funktionen [[Modul:Faktenbox]] == | ||
=== <code>Faktenbox()</code> === | |||
Universelle Faktenbox ohne Formular/Klasse/Gebäude. | |||
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. | |||
== Funktionen [[Modul:Faktenbox/Tabs]] == | |||
=== <code>universalDatenTab()</code> === | |||
Universeller Daten-Tab zeigt alle seine übergebenen Parameter außer die für Karte und Bild an. | |||
=== <code>bildTab()</code> === | |||
Selbsterklärend... | |||
=== <code>benennungenTab()</code> === | |||
Tab mit Liste der Benennungen. | |||
=== <code>tab()</code> === | |||
Vervollständigt Tab-Inhalt zu einem Tab. | |||
== Funktionen [[Modul:Faktenbox/Tabs/Karte]] == | |||
== <code>zeileKategorieSeite()</code> == | === <code>kartenTab()</code> === | ||
Selbsterklärend... | |||
=== <code>getKartenArgs()</code> === | |||
Karten-Argumente übernehmen und aufbereiten. | |||
== Funktionen [[Modul:Faktenbox/Tabs/Adressen]] == | |||
=== <code>adressenTab()</code> === | |||
Tab mit Liste der Adressen. | |||
Die Adressen werden bestmöglich chronologisch aufsteigend sortiert. | |||
=== <code>p.sortIndex() und p.smwDate2SortIndex()</code> === | |||
Erstellen Sortierindizes anhand Datum und Schlüsselwörtern (z.B. Geburtshaus ganz oben) für chronologische Sortierung. | |||
== Funktionen [[Modul:Faktenbox/Zeilen]] == | |||
=== <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 und das [[Attribut:Seite]] setzt. | ||
== <code>zeileStrasseHnr()</code> == | === <code>zeileStrasseHnr()</code> === | ||
Wie <code>zeile(attr, attrText, val)</code>, aber speziell ausgrichtet, um [[Attribut:Straße]], [[Attribut:Hausnummer]] und [[Attribut: | Wie <code>zeile(attr, attrText, val)</code>, aber speziell ausgrichtet, um [[Attribut:Straße]], [[Attribut:Hausnummer]], [[Attribut:StraßeHnr]] und [[Attribut:AnzahlGebäude]] zu setzen und anzuzeigen. | ||
== <code>zeileAktenNr()</code> == | === <code>zeileAktenNr()</code> === | ||
Wie <code>zeile(attr, attrText, val)</code>, aber speziell ausgrichtet, um [[Attribut:AktenNr]] zu setzen und anzuzeigen. | Wie <code>zeile(attr, attrText, val)</code>, aber speziell ausgrichtet, um [[Attribut:AktenNr]] zu setzen und anzuzeigen. | ||
Die AktenNr werden als Query-Link und mit Seitenanzahl mit dieser AktenNr angezeigt. | Die AktenNr werden als Query-Link und mit Seitenanzahl mit dieser AktenNr angezeigt. | ||
== <code> | === <code>zeileGeoDaten()</code> === | ||
Zeile um alle [[Attribut:Geokoordinate]] mit OSM-Link zu anzuzeigen. | Zeile um alle [[Attribut:Geokoordinate]]n mit OSM-Link und die [[Attribut:GeoJson]]-Karte zu anzuzeigen. | ||
== <code> | === <code>zeileDatum()</code> === | ||
Zeile | Zeile um ein Datum standardisiert per <code>linkFormDate()</code> anzuzeigen. | ||
== <code> | === <code>zeileSemantikBrowsenAbfrage()</code> === | ||
Zeile mit Link zum semantischen Browsen (Datensicht) und zur Abfrage. | |||
=== <code>zeile()</code> === | |||
Standard-Zeile um ein Attribut zu setzen und anzuzeigen. | |||
Wenn es sich beim Attribut-Wert um eine Liste mit mehreren Elementen handelt, wird vom Attribut-Anzeigetext automatisch die Mehrzahl gebildet. | |||
{| class="wikitable" | |||
|- | |||
! Parameter !! Beschreibung | |||
|- | |||
| <code>attr_name</code> || Attribut-Name | |||
|- | |||
| <code>attr_text</code> || Optionaler Attribut-Anzeigetext. Default: <code>attr_name</code>. Siehe auch [[#attr_text_anzeige|<code>attr_text_anzeige</code>]] | |||
|- | |||
| <code>attr_val</code> || Attribut-Wert. Wenn nicht übergeben, werden die von der #invoke:-Vorlage übergegebenen Parameter (<code>fbdata.pargs</code>) verwendet. | |||
|- | |||
| <code>fbdata</code> || [[#fbdata-Daten-table|fbdata-Daten-table]] mit von der #invoke:-Vorlage übergegebenen Parameter (<code>fbdata.pargs</code>). | |||
|- | |||
| <code>delimiter</code> || Trennzeichen bei Werte-Listen. Bei Nicht-Übergabe wird Attribut-Wert auch nicht als Liste behandelt. | |||
|- | |||
| <code>val_prefix</code> || Attribut-Wert-Prefix z.B. "ca." | |||
|- | |||
| <code>val_postfix</code> || Attribut-Wert-Postfix z.B. "km" | |||
|- | |||
| <code>val_show_only</code> || Attribut-Wert nur anzeigen, aber nicht setzen | |||
|} | |||
=== <code>setPageAttr()</code> === | |||
Setzen eines Attributs vom Datentyp Seite in folgender Prüf- und Setzreihenfolge: | |||
# ''Wenn'' <code>val</code> problematische Wikitext/HTML-Inhalte enthält, dann wird | |||
#* <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) | |||
# ''Ansonsten wenn'' <code>val</code> als Seite existiert, wird diese 1:1 gesetzt und angezeigt (<code><nowiki>[[Attribut::Wert]]</nowiki></code>) | |||
# ''Ansonsten wenn'' <code>val</code> Klammerungen am Anfang oder am Ende enthält (Beispiel: "(BlaBlub) Rathaus (BlaBla)"), wird geprüft, ob eine Seite ohne die Klammerungen (also [[Rathaus]]) existiert. Wenn ja, wird "(BlaBlub) [[Rathaus]] (BlaBla)" angezeigt und das Attribut mit nur "[[Rathaus]]" gesetzt. | |||
# ''Ansonsten wird'' | |||
#* <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) | |||
=== <code>setStandardAttr()</code> === | |||
Setzen eines Standard-Attributs (nicht Datentyp Seite). | |||
Klammerwerte werden optional abgetrennt und Attribut-Wert wird optional nur angezeigt, aber nicht gesetzt. | |||
== Funktionen [[Modul:Faktenbox/Common]] == | |||
== <code>common()</code> == | === <code>common()</code> === | ||
Sonstige gemeinsame Dinge anfügen | Sonstige gemeinsame Dinge anfügen | ||
* Klasse | |||
* Formular | * Formular | ||
* Kategorien | * Kategorien | ||
* Wartung | * Wartung | ||
== <code> | === <code>fbdata()</code> === | ||
Erstellt Faktenbox-Daten-Tabelle. | |||
== <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: | |||
* <code>fbdata.frame</code> = <code>frame</code> von <code>Faktenbox(frame)</code> | |||
* <code>fbdata.pargs</code> = <code>frame:getParent().args</code>. Beispiel: <code>fbdata.pargs["Ehemals"]</code> oder <code>fbdata.pargs.Ehemals</code> | |||
* <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_einzahl</code> Einzahl-Kategorien-table als Alternative zu <code>fbdata.klasse</code>. Beispiel Kirche: <code>fbdata.kategorie_einzahl = {"Kirche", "Gebäude"}</code> ("Kirche" ist primäre und "Gebäude" sekundäre Kategorie) | |||
* <code>fbdata.formular</code> Formular | |||
* Pagesnames | |||
** <code>frame.fullpagename</code> | |||
** <code>frame.pagename</code> | |||
** <code>frame.subpagename</code> | |||
* <code>frame.strasse_hnr</code> Untertabelle für Straße/Hausnummer-Daten | |||
** <code>frame.strasse_hnr.strasse</code> Untertabelle für Straßen | |||
*** <code>frame.strasse_hnr.strasse.name</code> Straßenname | |||
*** <code>frame.strasse_hnr.strasse.hausnummer</code> Hausnummern-table dieser Straße | |||
*** <code>frame.strasse_hnr.strasse.suspekt</code> Suspekte Formular-Werte dieser Straße | |||
** <code>frame.strasse_hnr.suspekt </code> Suspekte Formular-Werte aller Straßen | |||
** <code>frame.strasse_hnr.anzahlGebaeude </code> Anzahl aller gültigen Straße/Hausnummer-Kombinationen | |||
* Ggf. weitere Klassen-abhängige Einträge | |||
== <code>attr_text_anzeige</code> == | |||
Sofern kein [[#zeile()|<code>attr_text</code>]] angegeben, wird i. A. <code>attr_name</code> angezeigt. | |||
Jedoch wird bei manchen <code>attr_name</code>-Attributen stattdessen automatisch die ausgeschriebene Version angezeigt. | |||
Beispiel: Beim [[Attribut:TeilDesEnsembles]] wird anhand der table <code>attr_text_anzeige</code> "Teil des Ensembles" angezeigt. | |||
Diese Übersetzung von <code>attr_name</code> zur Anzeige-Version ist in <code>attr_text_anzeige</code> abgelegt und erfolgt global bei allen Faktenboxen. | |||
== Unterseiten == | == Unterseiten == | ||
| Zeile 38: | Zeile 147: | ||
<div style="column-count:3"> | <div style="column-count:3"> | ||
* [[Modul:Common]] | * [[Modul:Common]] | ||
* [[Modul:Development]] | |||
* [[Modul:String]] | * [[Modul:String]] | ||
* [[Modul:Wiki]] | * [[Modul:Wiki]] | ||
* [[Modul:Geo]] | * [[Modul:Geo]] | ||
* [[Modul:Queries]] | * [[Modul:Queries]] | ||
* [[Modul:LinkFormDatum]] | |||
</div> | </div> | ||