Kalender Formularfeldtyp
From Joomla! Documentation
Der calendar Formularfeldtyp bietet eine Textbox um ein Datum einzutragen. Ein Icon in der Nähe der Textbox stellt ein Kalender Pop-up bereit, mit dem du genauso ein Datumseintrag angeben kannst. Ist in diesem Feld schon ein Datumseintrag gespeichert, so siehst du es in der Textbox. Andernfalls wir der Standardwert angezeigt.
- type (notwendig) muss calendar sein.
- name (notwenig) ist der eindeutige Name des Feldes.
- label (notwendig) (übersetzbar) ist der beschreibende Titel des Feldes.
- default (optional) ist das Standarddatum. Dies muss im selben Format, wie unter dem Argument format definiert, angeben werden. Du kannst auch "NOW" eingeben, um das aktuelle Datum oder Zeitformat im angegebenen Format zu bekommen. Du kannst außerdem die [JDate arguments] ('now +1 month', 'now +2 months +7 days +12 hours', ...) nutzen.
- description (optional) (übersetzbar) ist ein Text welcher der Benutzer als ein Tooltip angezeigt bekommt, wenn er die Maus über das Label der Textbox bewegt.
- readonly (optional) gibt an ob die Textbox nur lesbar ist (true oder false). Wenn dem so ist, kann das Datum nicht verändert, aber markiert und kopiert werden. Es wird kein Kalendericon angezeigt.
- disabled (optional) gibt an ob die Textbox deaktiviert ist (true oder false). Ist sie das, kann das Datum weder verändert noch markiert oder kopiert werden.
- class (optional) ist ein CSS Klassenname für das HTML Formularfeld. Es ist bei Nutzung der "Bootstrap2 Relatives sizing" empfohlen (Siehe Code-Beispiele am Ende).
- format (optional) ist das Format welches genutzt werden soll. Dies ist in dem vom PHP verendeten Format, um Datumszeichenfolgen anzugeben, zu spezifizieren (Siehe unten). Wenn kein Formatargument angeben wurde, wird '%Y-%m-%d' angenommen (Bsp. wie '2017-05-15'). Wenn
showtime
gewählt (true) wurde, brauchst du noch einige Zeitangaben zum Datum, bspw.: '%Y-%m-%d %H:%M:%S'. - filter (optional) ist die Zeitzone welche genutzt werden soll. Es gibt zwei mögliche Einträge: server_utc und user_utc. Das erste ist die Zeitzone des Servers und das Letztere ist die Zeitzone des Benutzers, welche in der globalen Konfiguration und in den Benutzerinformationen eingestellt werden kann.
- translateformat (optional): Ist es auf "true" gestellt, wird der Kalender den
DATE_FORMAT_CALENDAR_DATE
Sprachschlüssel (wennshowtime
false) oder denDATE_FORMAT_CALENDAR_DATETIME
Sprachschlüssel (wennshowtime
true) nutzen, um das Format zu bestimmen. Das Attributformat
wird ignoriert. Ist es "false" so wird das Attributformat
genutzt (Seit Version 3.7.0). Beachte das dieformat
Zeichenkette ein Zeitfeld enthalten muss, wenn dies genutzt werden soll. Standardmäßig wird es nicht genutzt (false). - showtime (optional): Wenn dies und
translateformat
auf "true" gestellt sind, wir der SprachschlüsselDATE_FORMAT_CALENDAR_DATETIME
benutzt, ansonstenDATE_FORMAT_CALENDAR_DATE
(Seit Version 3.7.0). Standardmäßig wird es nicht genutzt (false).
- timeformat (optional): Kann auf 12 (AM oder PM angeben) oder 24 gestellt werden (Seit Version 3.7.0). Wenn 12h genutzt wird, gibt es eine zusätzliche Auswahl für Benutzer zwischen AM und PM. Dieses Attribut hat keinen Effekt wie das/die Datum/Zeit gespeichert werden. Standard ist 24h.
- singleheader (optional): Bei "false" wird die Auswahl für Jahr und Monat in zwei separaten Zeilen mit unabhängiger Auswahl festgelegt (Seit Version 3.7.0). Standard ist false.
- todaybutton (optional): Wenn "true" angegeben, wird ein Button am Ende der Datumswahl angezeigt, um den heutigen Tag zu markieren (Seit Version 3.7.0). Standard ist true
- weeknumbers (optional): Wenn auf "true" gesetzt, wird eine Spalte links der Datumsanwahl eingefügt, welche die Kalenderwochen anzeigt (Seit Version 3.7.0). Standard ist true.
- fillable (optional): Wenn auf "true" gesetzt, Daten des vorherigen und nächsten Monats werden dem aktuellen Monat am Anfang und Ende hinzugefügt (Seit Version 3.7.0). Standard ist true.
- minyear (optional): Setze eine ganze Zahl mit Vorzeichen für die Anzahl der Jahre (-10, -2, 0, 7, 12, ...), um die relative Untergrenze der Jahresauswahl zu definieren. Der Benutzer kann kein Jahr vor dem Limit auswählen (seit Version 3.7.0). Bei Null (Standard) gibt es kein Limit.
- maxyear (optional): Setze eine ganze Zahl mit Vorzeichen für die Anzahl der Jahre (-10, -2, 0, 7, 12, ...), um die relative Obergrenze der Jahresauswahl zu definieren. Der Benutzer kann kein Jahr nach dem Limit auswählen (seit Version 3.7.0). Bei Null (Standard) gibt es kein Limit.
Beispiel für eine XML-Definition einer einfachen Datumsauswahl:
<field name="mycalendar" type="calendar" default="2017-05-15" label="Wähle ein Datum" description=""
class="input-small" required="true" filter="user_utc"
showtime="false" todaybutton="false" filltable="false" translateformat="true" />
Beispiel für eine XML-Definition einer erweiterten Datumsauswahl:
<field name="mycalendar" type="calendar" default="2017-05-15" label="Wähle ein Datum" description=""
class="input-medium" required="true" filter="user_utc" format="%Y-%m-%d %H:%M:%S"
singleheader="true" showtime="true" timeformat="12" todaybutton="true" weeknumbers="true"
filltable="true" minyear="-3" maxyear="5" />
Das Formatattribut gibt die zu speichernde Form der Zeichenkette an, in der sie gespeichert werden soll. Es ist auch das Format in dem manuelle Datumseingaben angeben werden müssen; bis auf die Interpunktionszeichen. Diese werden ignoriert. Das Codierungsschema, das zum Angeben von Datumsformaten verwendet wird, ist ein benutzerdefiniertes Format, das für die Javascript-Bibliothek, die in der Datumsauswahl verwendet wird, definiert ist. Vollständige Details darüber können beispielsweise unter Joomla's Github gefunden werden. Die nachfolgenden Zeichenkennen für die Datumsangabe sind die am meist genutzten:
Zeichen | Beschreibung | Beispiel |
---|---|---|
d | Tag des Monats, 2 Ziffern mit führender Null | 01 bis 31 |
a | Textliche Darstellung des Tages, drei Buchstaben | Mon bis Son |
e | Tag des Monats ohne führende Null | 1 bis 31 |
A | Komplette Darstellung des Wochentages in Textform | Montag bis Sonntag |
w | Numerische Darstellung des Wochentages | 0 (für Sonntag) bis 6 (für Samstag) |
j | Der Tag des Jahres (Beginnend bei 0) | 001 bis 366 |
B | Darstellung des Monats als komplette Textform | Januar bis Dezember |
m | Numerische Darstellung eines Monats, mit führenden Nullen | 01 bis 12 |
b | Eine kurze Darstellung als Text des Monats, Drei Buchstaben | Jan bis Dez |
Y | Eine numerische Darstellung des Jahres, 4 Ziffern | 1999 oder 2003 |
y | Eine zwei Ziffern lange Darstellung des Jahres | 99 oder 03 |
P | Kleingeschriebenes Ante Meridiem (Vormittag) oder Post Meridiem (Nachmittag) | am oder pm |
p | Großgeschriebenes Ante Meridiem (Vormittag) oder Post Meridiem (Nachmittag) | AM oder PM |
Hinweis: Das Format in welches Datumsangaben in die Datei params.ini gespeichert werden, ist jenes, welches durch das Formatargument angeben wurde. Da dieses Format sprachabhängige Elemente enthalten kann (z.B. das '%A' Argument), musst du darauf achten, solche Elemente nicht zu verwenden, wenn die Frontend- und Backend-Sprachen möglicherweise unterschiedlich sind.
Hinweis: Der Kalenderformularfeldtyp unterstützt keine Nicht-Gregorianische Kalender. Wenn du Nicht-Gregorianische Kalender unterstützen möchstest, dann musst du dein eigenen benutzerdefinierterten Formularfeldtyp erstellen, um deinen Kalender einzubinden.
Zugehörige Standardfilter
- user_utc - Berechnet den spezifischen Wert zur Greenwich Zeit, gemäß der Zeitzoneneinstellung des Benutzers.