What is Smarty?
Why use it?
Use Cases and Work Flow
Syntax Comparison
Template Inheritance
Best Practices
Crash Course
You may use the Smarty logo according to the trademark notice.
For sponsorship, advertising, news or other inquiries, contact us at:
{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 attribut | Type | Requis | Défaut | Description |
---|---|---|---|---|
prefix | chaîne de caractères | Non | Date_ | Avec quoi préfixer le nom de variable |
time | timestamp/YYYY-MM-DD | Non | la date courante au format unix YYYY-MM-DD format | La date / heure à utiliser |
start_year | chaîne de caractères | Non | current year | La 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_year | chaîne de caractères | Non | même chose que start_year | La 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_days | boolean | Non | true | Si l'on souhaite afficher les jours ou pas. |
display_months | boolean | Non | true | Si l'on souhaite afficher les mois ou pas. |
display_years | boolean | Non | true | Si l'on souhaite afficher les années ou pas. |
month_format | chaîne de caractères | Non | %B | le format du mois (strftime) |
day_format | chaîne de caractères | Non | %02d | Le format du jour (sprintf) |
day_value_format | chaîne de caractères | Non | %d | Le format de la valeur du jour (sprintf) |
year_as_text | boolean | Non | false | S'il faut afficher l'année au format texte |
reverse_years | boolean | Non | false | Affiche les années dans l'ordre inverse |
field_array | chaîne de caractères | Non | null | 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_size | chaîne de caractères | Non | null | Ajoute un attribut size à la liste déroulante des jours. |
month_size | chaîne de caractères | Non | null | Ajoute un attribut size à la liste déroulante des mois. |
year_size | chaîne de caractères | Non | null | Ajoute un attribut size à la liste déroulante des années. |
all_extra | chaîne de caractères | Non | null | Ajoute des attributs supplémentaires à toutes les balises select/input. |
day_extra | chaîne de caractères | Non | null | Ajoute des attributs supplémentaires aux balises select/input du jour. |
month_extra | chaîne de caractères | Non | null | Ajoute des attributs supplémentaires aux balises select/input du mois. |
year_extra | chaîne de caractères | Non | null | Ajoute des attributs supplémentaires aux balises select/input de l'année. |
field_order | chaîne de caractères | Non | MDY | L'ordre dans lequel afficher les listes déroulantes. |
field_separator | chaîne de caractères | Non | \n | la chaîne de caractères affichée entre les différents champs. |
month_value_format | chaîne de caractères | Non | %m | Le format strftime de la valeur des mois, par défaut %m pour les numéros. |
year_empty | chaîne de caractères | Non | null | S'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_empty | chaîne de caractères | Non | null | S'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_empty | chaîne de caractères | Non | null | S'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. |
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.
Example 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>
Example 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.