smarty template engine
Friday, August 08, 2008  
download | documentation | faq | forum | mailing lists | changelog | contribs 


search for in the  


{html_select_date}

{html_select_date} est une fonction personnalisée qui crée des listes déroulantes pour saisir la date. Elle peut afficher n'importe quel jour, mois et année. Tous les paramètres qui ne sont pas dans la liste ci-dessous sont affichés sous la forme pair nom/valeur dans les balises <select> des jours, mois et années.

Nom attributTypeRequisDéfautDescription
prefixchaîne de caractèresNonDate_Avec quoi préfixer le nom de variable
timetimestamp/YYYY-MM-DDNonla date courante au format unix YYYY-MM-DD formatLa date / heure à utiliser
start_yearchaîne de caractèresNoncurrent yearLa première année dans la liste déroulante, soit le numéro de l'année, soit un nombre relatif à l'année courante (+/- N).
end_yearchaîne de caractèresNonmême chose que start_yearLa dernière année dans la liste déroulante, soit le numéro de l'année, soit un nombre relatif à l'année courante (+/- N).
display_daysbooleanNontrueSi l'on souhaite afficher les jours ou pas.
display_monthsbooleanNontrueSi l'on souhaite afficher les mois ou pas.
display_yearsbooleanNontrueSi l'on souhaite afficher les années ou pas.
month_formatchaîne de caractèresNon%Ble format du mois (strftime)
day_formatchaîne de caractèresNon%02dLe format du jour (sprintf)
day_value_formatchaîne de caractèresNon%dLe format de la valeur du jour (sprintf)
year_as_textbooleanNonfalseS'il faut afficher l'année au format texte
reverse_yearsbooleanNonfalseAffiche les années dans l'ordre inverse
field_arraychaîne de caractèresNonnull Si un nom est donné, la liste déroulante sera affichée de telle façon que les résultats seront retournés à PHP sous la forme nom[Day] (jour), nom[Year] (année), nom[Month] (Mois).
day_sizechaîne de caractèresNonnullAjoute un attribut size à la liste déroulante des jours.
month_sizechaîne de caractèresNonnullAjoute un attribut size à la liste déroulante des mois.
year_sizechaîne de caractèresNonnullAjoute un attribut size à la liste déroulante des années.
all_extrachaîne de caractèresNonnullAjoute des attributs supplémentaires à toutes les balises select/input.
day_extrachaîne de caractèresNonnullAjoute des attributs supplémentaires aux balises select/input du jour.
month_extrachaîne de caractèresNonnullAjoute des attributs supplémentaires aux balises select/input du mois.
year_extrachaîne de caractèresNonnullAjoute des attributs supplémentaires aux balises select/input de l'année.
field_orderchaîne de caractèresNonMDYL'ordre dans lequel afficher les listes déroulantes.
field_separatorchaîne de caractèresNon\nla chaîne de caractères affichée entre les différents champs.
month_value_formatchaîne de caractèresNon%mLe format strftime de la valeur des mois, par défaut %m pour les numéros.
year_emptychaîne de caractèresNonnullS'il est renseigné, alors le premier élément de la boite de sélection affiche le texte donné en tant que libellé et dispose de la valeur <<  >>. Utile par exemple lorsque vous souhaitez que la boite de sélection affiche << Sélectionnez une année >>. A savoir que vous pouvez spécifier des valeurs de la forme << -MM-DD >> pour l'attribut time afin d'indiquer une année non sélectionnée.
month_emptychaîne de caractèresNonnullS'il est renseigné, le premier élément de la boite de sélection affiche le texte donné en tant que libellé et dispose de la valeur <<  >>. A savoir que vous pouvez spécifier des valeurs de la forme << YYYY--DD >> pour l'attribut time afin d'indiquer qu'il manque le moi.
day_emptychaîne de caractèresNonnullS'il est renseigné, le premier élément de la boite de sélection affiche le texte donné en tant que libellé et dispose de la valeur <<  >>. A savoir que vous pouvez spécifier des valeurs de la forme << YYYY-MM- >> pour l'attribut time afin d'indiquer qu'il manque le jour.

Note : Il y a une fonction PHP utile sur la page des astuces sur les dates pour convertir les valeurs {html_select_date} en un timestamp.

Exemple 8-19. {html_select_date} : Premier exemple

Code du template

{html_select_date}

Ce qui donne en sortie :

<select name="Date_Month">
  <option value="1">January</option>
  <option value="2">February</option>
  <option value="3">March</option>
  ..... coupé .....
  <option value="10">October</option>
  <option value="11">November</option>
  <option value="12" selected="selected">December</option>
</select>
<select name="Date_Day">
  <option value="1">01</option>
  <option value="2">02</option>
  <option value="3">03</option>
  ..... coupé .....
  <option value="11">11</option>
  <option value="12">12</option>
  <option value="13" selected>13</option>
  <option value="14">14</option>
  <option value="15">15</option>
  ..... coupé .....
  <option value="29">29</option>
  <option value="30">30</option>
  <option value="31">31</option>
</select>
<select name="Date_Year">
  <option value="2006" selected="selected">2006</option>
</select>

Exemple 8-20. {html_select_date} : Deuxième exemple

{* le démarage et la fin de l'année peuvent être relatif à l'année courante *}
{html_select_date prefix="StartDate" time=$time start_year="-5"
   end_year="+1" display_days=false}

Ce qui donne en sortie: (L'année courante est 2000)

<select name="StartDateMonth">
  <option value="1">January</option>
  <option value="2">February</option>
  ..... coupé .....
  <option value="11">November</option>
  <option value="12" selected="selected">December</option>
</select>
<select name="StartDateYear">
 <option value="1995">1995</option>
  ..... coupé .....
  <option value="1999">1999</option>
  <option value="2000" selected="selected">2000</option>
  <option value="2001">2001</option>
</select>

Voir aussi {html_select_time}, date_format, $smarty.now et les astuces sur les dates.




 

credits 

Smarty Copyright © 2002-2008
New Digital Group, Inc.

All rights reserved.