Insérer un sélecteur de date dans un FCE

De Typo3 CMS / Documentation Typo3 / Support Typo3.

Sommaire

L'extension date2cal

L'extension date2cal doit être installée ([1]). Elle remplace les champs de type date de Typo3 par un sélecteur de type calendrier.

Le champ Date du FCE

au moment du mapping, sélectionner Plain input field dans le champ Editing type, la suite se passe au niveau du xml de la datastructure.

Image:inputDate.gif


Le champ Date se présente comme ceci dans la datastructure (par défaut) :

<field_date type="array">
	<tx_templavoila type="array">
		<title>Date</title>
		<sample_data type="array">
			<numIndex index="0"></numIndex>
		</sample_data>
		<eType>input</eType>
		<proc type="array">
			<HSC type="integer">1</HSC>
		</proc>
	</tx_templavoila>
	<TCEforms type="array">
		<config type="array">
			<type>input</type>
			<size>48</size>
			<eval>trim</eval>
		</config>
		<label>Date</label>
	</TCEforms>
</field_date>

Tout d'abord on peut enlever la partie <proc> (plus besoin de passer la saisie via htmlSpecialChars).

TCE FORM

Il suffit ici de modifier les paramètres eval et size comme ceci :

  • si on veut la date seulement on utilise « date » dans le champ eval et on passe size à 8
  • si on veut la date et l'heure on utilise « datetime » dans le champ eval et on passe size à 10

Rendu FE de la date :

sous le paramètre eType, ajouter le TypoScript pour le rendu de la date voulu, exemple :

<TypoScript><![CDATA[
   10=TEXT
   10.current=1
   10.strftime= %A %d %B %Y %H:%M
]]></TypoScript>

Ce qui donne, avec date et heure :

<field_date type="array">
	<tx_templavoila type="array">
		<title>Date</title>
		<sample_data type="array">
			<numIndex index="0"></numIndex>
		</sample_data>
		<eType>input</eType>
		<TypoScript><![CDATA[
		10=TEXT
		10.current=1
		10.strftime= %A %d %B %Y %H:%M
		]]></TypoScript>
	</tx_templavoila>
	<TCEforms type="array">
      <config type="array">
          <type>input</type>
          <size>10</size>
          <eval>datetime</eval>
      </config>
      <label>Date</label>
  </TCEforms>
</field_date>


L'exemple ci-dessus donne ceci dans le Backend :

Image:date1.gif


Image:date2.gif

et la date est bien rendue en Frontend :

Image:date.gif

Outils personnels