Type de champ de formulaire calendar

From Joomla! Documentation

Revision as of 10:15, 18 May 2017 by Garstud (talk | contribs)

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 translateformat is true, the language key DATE_FORMAT_CALENDAR_DATETIME is used, otherwise DATE_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.

Voir également