Type de champ de formulaire calendar
From Joomla! Documentation
Le type de champ de formulaire calendar fournit une zone de texte pour la saisie d'une date. Une icône à côté de la zone de texte propose un lien vers un calendrier en pop-up qui peut également être utilisé pour entrer la valeur de la date. Si le champ a une valeur enregistrée, elle sera affichée dans la zone de texte. Sinon, la valeur par défaut est affichée.

- type (obligatoire) doit être "calendar".
- name (nom) (obligatoire) est le nom unique du champ.
- label (étiquette) (obligatoire) (traduisible) est le titre descriptif du champ.
- default (par défaut) (facultatif) est la date par défaut. Elle doit être définie dans le même format que celui spécifié par l'argument de format. Vous pouvez renseigner "NOW" pour afficher les informations de date ou d'heure actuelle dans le format donné.
- description (facultatif) (traduisible) est le texte qui s'affichera dans une info-bulle lorsque l'utilisateur passe sa souris sur la zone de texte.
- readonly (lecture seule) (facultatif) pour définir la zone de texte est en lecture seule ("true" ou "false"). Si la zone de texte est en lecture seule, la date ne peut pas être changée, mais peut être sélectionnée et copiée. Aucune icône de calendrier sera affichée.
- disabled (désactivé) (facultatif) pour que la zone de texte soit ou non désactivée ("true" ou "false"). Si la zone de texte est désactivée, la date ne pourra pas être modifiée ou copiée.
- class (classe) (facultatif) est le nom de la classe CSS du champ de formulaire HTML. I est recommandé d'utiliser les "Bootstrap2 Relatives sizing" (voir les codes d'exemples XML ci-dessous)
- format (facultatif) est le format de date à utiliser. C'est par le format utilisé par PHP qu'il convient de spécifier le format de chaîne de la date (voir ci-dessous). Si aucun argument de format n'est renseigné, '%Y-%m-%d' (donnant ainsi des dates de type : '2017-05-15').
- filter (filtre) (facultatif) est le fuseau horaire à utiliser. Il y a deux valeurs : server_utc et user_utc. La première est le fuseau horaire du serveur et la seconde est le fuseau horaire de l'utilisateur tel que défini respectivement dans la configuration générale et dans les informations utilisateurs.
- translateformat (optional): If set to true, the calendar will use a language string to determine the format. The `format` attribute is ignored. If false, the `format` attribute is used (same behaviour as today). (starting with 3.7.0)
- showtime (optional): If set to true and
translateformatis true, the language keyDATE_FORMAT_CALENDAR_DATETIMEis used, otherwiseDATE_FORMAT_CALENDAR_DATE. (starting with 3.7.0)
- timeformat (optional): can be set to 12 (and spcify AM or PM) or 24 (starting with 3.7.0)
- singleheader (optional): if set to false, the year and the moth selection will be set on two separates lines, with independant selection (starting with 3.7.0)
- todaybutton (optional): if set to true, a button is added at the bottom pof the datePicker to select the date of the current day (starting with 3.7.0)
- weeknumbers (optional): if set to true, a column is added at the left of the datePicker to display the number of the week in the current year (starting with 3.7.0)
- filltable (optional): if set to true, dates of the previous and next month is added at the top and the bottom of the current mont to fill the grid (starting with 3.7.0)
- minyear (optional): set a signed integer for a number of years (-10, -2, 0, 7, 12, ...) to define the relative lower limit for the year selection. The user could not select a year before your limit (starting with 3.7.0)
- maxyear (optional): set a signed integer for a number of years (-10, -2, 0, 7, 12, ...) to define the relative upper limit for the year selection. The user could not select a year after your limit (starting with 3.7.0)
Example for a light DatePicker XML field definition:
<field name="mycalendar" type="calendar" default="2017-05-15" label="Select a date" description="" type="calendar"
class="input-small" required="true" filter="user_utc"
showtime="false" todaybutton="false" filltable="false" translateformat="true" />

Example for an advanced DatePicker XML field definition:
<field name="mycalendar" type="calendar" default="2017-05-15" label="Select a date" description="" type="calendar"
class="input-medium" required="true" filter="user_utc" format="%Y-%m-%d"
singleheader="true" showtime="true" timeformat="12" todaybutton="true" weeknumbers="true"
filltable="true" minyear="-3" maxyear="5" />

L'attribut format permet de spécifier le format de la chaîne de date qui sera enregistré. C'est aussi le format de saisie manuelle devant être utilisé ; sauf que le caractère de ponctuation sera ignoré. Le système de codage utilisé pour spécifier les formats de date est personnalisé pour la bibliothèque javascript utilisé dans 'datepicker'. De nombreux détails concernant les formats peuvent être consultés par exemple sur : GitHub Joomla!. Les éléments suivants sont les chaînes de code date les plus fréquemment utilisées :
| Caractère | Description | Exemple |
|---|---|---|
| d | Jour du mois, avec 2 chiffres et les zéros | De 01 à 31 |
| a | Une représentation textuelle du jour, en trois lettres | De Lun à Dim |
| e | Jour du mois sans zéros en début | De 1 à 31 |
| A | Une représentation textuelle du jour de la semaine | De Lundi à Dimanche |
| w | Représentation numérique du jour de la semaine | 0 (pour Dimanche) à 6 (pour Samedi) |
| j | Le jour de l'année (à partir de 0) | De 001 à 366 |
| B | Une représentation textuelle du mois | De janvier à décembre |
| m | Représentation numérique d'un mois, avec les zéros | De 01 à 12 |
| b | Une représentation textuelle du mois, en trois lettres | De jan à déc |
| Y | Représentation numérique d'une année, en 4 chiffres | 1999 ou 2003 |
| y | Représentation numérique d'une année en deux chiffres | 99 ou 03 |
| p | Ante Meridiem ou Post Meridiem en minuscules | am ou pm |
| P | Ante Meridiem ou Post Meridiem en majuscules | AM ou PM |
Remarque : le format dans lequel les dates sont stockées dans les le fichier params.ini est celui spécifié par l'argument de format. Puisqu'il peut exister des dépendances d'éléments de langue pour ce format (par exemple le spécificateur '%A'), vous devez être prudent et ne pas utiliser ces éléments si il existe une possibilité que les langues utilisées en frontend et backend soient différentes.
Remarque : le type de champ de formulaire calendar ne prend pas en charge les types de calendriers non-Grégoriens. Si vous avez besoin d'un tel type de calendrier, vous aurez alors besoin de créer un nouveau type de champ de formulaire en soutien de votre calendrier.
Filtres associés standards
- user_utc - calcule la valeur spécifiée à l'heure de Greenwich, en fonction des paramètres de fuseau horaire de l'utilisateur.