<HTML ><HEAD ><TITLE >{html_select_date}</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK REL="HOME" TITLE="Smarty Manual" HREF="index.html"><LINK REL="UP" TITLE="Custom Functions" HREF="language.custom.functions.html"><LINK REL="PREVIOUS" TITLE="{html_radios}" HREF="language.function.html.radios.html"><LINK REL="NEXT" TITLE="{html_select_time}" HREF="language.function.html.select.time.html"><META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=ISO-8859-1"></HEAD ><BODY CLASS="sect1" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#840084" ALINK="#0000FF" ><DIV CLASS="NAVHEADER" ><TABLE SUMMARY="Header navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TH COLSPAN="3" ALIGN="center" >Smarty Manual</TH ></TR ><TR ><TD WIDTH="10%" ALIGN="left" VALIGN="bottom" ><A HREF="language.function.html.radios.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" >Chapter 8. Custom Functions</TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="language.function.html.select.time.html" ACCESSKEY="N" >Next</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><DIV CLASS="sect1" ><H1 CLASS="sect1" ><A NAME="language.function.html.select.date" ></A >{html_select_date}</H1 ><P > <TT CLASS="varname" >{html_select_date}</TT > is a <A HREF="language.custom.functions.html" >custom function</A > that creates date dropdowns. It can display any or all of year, month, and day. All parameters that are not in the list below are printed as name/value-pairs inside the <TT CLASS="literal" ><select></TT > tags of day, month and year. </P ><DIV CLASS="informaltable" ><A NAME="AEN3514" ></A ><P ></P ><TABLE BORDER="1" CLASS="CALSTABLE" ><THEAD ><TR ><TH WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >Attribute Name</TH ><TH WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >Type</TH ><TH WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >Required</TH ><TH WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >Default</TH ><TH WIDTH="20%" ALIGN="LEFT" VALIGN="MIDDLE" >Description</TH ></TR ></THEAD ><TBODY ><TR ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >prefix</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >string</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >No</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >Date_</TD ><TD WIDTH="20%" ALIGN="LEFT" VALIGN="MIDDLE" >What to prefix the var name with</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >time</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >timestamp/ YYYY-MM-DD</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >No</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >current time in unix timestamp or YYYY-MM-DD format</TD ><TD WIDTH="20%" ALIGN="LEFT" VALIGN="MIDDLE" >What date/time to use</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >start_year</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >string</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >No</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >current year</TD ><TD WIDTH="20%" ALIGN="LEFT" VALIGN="MIDDLE" >The first year in the dropdown, either year number, or relative to current year (+/- N)</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >end_year</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >string</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >No</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >same as start_year</TD ><TD WIDTH="20%" ALIGN="LEFT" VALIGN="MIDDLE" >The last year in the dropdown, either year number, or relative to current year (+/- N)</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >display_days</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >boolean</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >No</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" ><TT CLASS="constant" >TRUE</TT ></TD ><TD WIDTH="20%" ALIGN="LEFT" VALIGN="MIDDLE" >Whether to display days or not</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >display_months</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >boolean</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >No</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" ><TT CLASS="constant" >TRUE</TT ></TD ><TD WIDTH="20%" ALIGN="LEFT" VALIGN="MIDDLE" >Whether to display months or not</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >display_years</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >boolean</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >No</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" ><TT CLASS="constant" >TRUE</TT ></TD ><TD WIDTH="20%" ALIGN="LEFT" VALIGN="MIDDLE" >Whether to display years or not</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >month_format</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >string</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >No</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >%B</TD ><TD WIDTH="20%" ALIGN="LEFT" VALIGN="MIDDLE" >What format the month should be in (strftime)</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >day_format</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >string</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >No</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >%02d</TD ><TD WIDTH="20%" ALIGN="LEFT" VALIGN="MIDDLE" >What format the day output should be in (sprintf)</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >day_value_format</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >string</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >No</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >%d</TD ><TD WIDTH="20%" ALIGN="LEFT" VALIGN="MIDDLE" >What format the day value should be in (sprintf)</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >year_as_text</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >boolean</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >No</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" ><TT CLASS="constant" >FALSE</TT ></TD ><TD WIDTH="20%" ALIGN="LEFT" VALIGN="MIDDLE" >Whether or not to display the year as text</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >reverse_years</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >boolean</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >No</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" ><TT CLASS="constant" >FALSE</TT ></TD ><TD WIDTH="20%" ALIGN="LEFT" VALIGN="MIDDLE" >Display years in reverse order</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >field_array</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >string</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >No</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >null</TD ><TD WIDTH="20%" ALIGN="LEFT" VALIGN="MIDDLE" > If a name is given, the select boxes will be drawn such that the results will be returned to PHP in the form of name[Day], name[Year], name[Month]. </TD ></TR ><TR ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >day_size</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >string</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >No</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >null</TD ><TD WIDTH="20%" ALIGN="LEFT" VALIGN="MIDDLE" >Adds size attribute to select tag if given</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >month_size</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >string</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >No</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >null</TD ><TD WIDTH="20%" ALIGN="LEFT" VALIGN="MIDDLE" >Adds size attribute to select tag if given</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >year_size</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >string</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >No</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >null</TD ><TD WIDTH="20%" ALIGN="LEFT" VALIGN="MIDDLE" >Adds size attribute to select tag if given</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >all_extra</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >string</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >No</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >null</TD ><TD WIDTH="20%" ALIGN="LEFT" VALIGN="MIDDLE" >Adds extra attributes to all select/input tags if given</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >day_extra</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >string</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >No</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >null</TD ><TD WIDTH="20%" ALIGN="LEFT" VALIGN="MIDDLE" >Adds extra attributes to select/input tags if given</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >month_extra</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >string</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >No</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >null</TD ><TD WIDTH="20%" ALIGN="LEFT" VALIGN="MIDDLE" >Adds extra attributes to select/input tags if given</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >year_extra</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >string</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >No</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >null</TD ><TD WIDTH="20%" ALIGN="LEFT" VALIGN="MIDDLE" >Adds extra attributes to select/input tags if given</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >field_order</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >string</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >No</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >MDY</TD ><TD WIDTH="20%" ALIGN="LEFT" VALIGN="MIDDLE" >The order in which to display the fields</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >field_separator</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >string</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >No</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >\n</TD ><TD WIDTH="20%" ALIGN="LEFT" VALIGN="MIDDLE" >String printed between different fields</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >month_value_format</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >string</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >No</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >%m</TD ><TD WIDTH="20%" ALIGN="LEFT" VALIGN="MIDDLE" >strftime() format of the month values, default is %m for month numbers.</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >year_empty</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >string</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >No</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >null</TD ><TD WIDTH="20%" ALIGN="LEFT" VALIGN="MIDDLE" >If supplied then the first element of the year's select-box has this value as it's label and <SPAN CLASS="QUOTE" >""</SPAN > as it's value. This is useful to make the select-box read <SPAN CLASS="QUOTE" >"Please select a year"</SPAN > for example. Note that you can use values like <SPAN CLASS="QUOTE" >"-MM-DD"</SPAN > as time-attribute to indicate an unselected year.</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >month_empty</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >string</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >No</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >null</TD ><TD WIDTH="20%" ALIGN="LEFT" VALIGN="MIDDLE" >If supplied then the first element of the month's select-box has this value as it's label and <SPAN CLASS="QUOTE" >""</SPAN > as it's value. . Note that you can use values like <SPAN CLASS="QUOTE" >"YYYY--DD"</SPAN > as time-attribute to indicate an unselected month.</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >day_empty</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >string</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >No</TD ><TD WIDTH="20%" ALIGN="CENTER" VALIGN="MIDDLE" >null</TD ><TD WIDTH="20%" ALIGN="LEFT" VALIGN="MIDDLE" >If supplied then the first element of the day's select-box has this value as it's label and <SPAN CLASS="QUOTE" >""</SPAN > as it's value. Note that you can use values like <SPAN CLASS="QUOTE" >"YYYY-MM-"</SPAN > as time-attribute to indicate an unselected day.</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ><DIV CLASS="note" ><BLOCKQUOTE CLASS="note" ><P ><B >Note: </B > There is an useful php function on the <A HREF="tips.dates.html" >date tips page</A > for converting <TT CLASS="varname" >{html_select_date}</TT > form values to a timestamp. </P ></BLOCKQUOTE ></DIV ><TABLE WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" CLASS="EXAMPLE" ><TR ><TD ><DIV CLASS="example" ><A NAME="AEN3701" ></A ><P ><B >Example 8-19. {html_select_date}</B ></P ><P >Template code</P ><TABLE BORDER="0" BGCOLOR="#E0E0E0" CELLPADDING="5" ><TR ><TD ><PRE CLASS="programlisting" >{html_select_date}</PRE ></TD ></TR ></TABLE ><P > This will output: </P ><TABLE BORDER="0" BGCOLOR="#E0E0E0" CELLPADDING="5" ><TR ><TD ><PRE CLASS="screen" ><select name="Date_Month"> <option value="1">January</option> <option value="2">February</option> <option value="3">March</option> ..... snipped ..... <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> ..... snipped ..... <option value="11">11</option> <option value="12">12</option> <option value="13" selected="selected">13</option> <option value="14">14</option> <option value="15">15</option> ..... snipped ..... <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></PRE ></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ><TABLE WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" CLASS="EXAMPLE" ><TR ><TD ><DIV CLASS="example" ><A NAME="AEN3707" ></A ><P ><B >Example 8-20. {html_select_date} second example</B ></P ><TABLE BORDER="0" BGCOLOR="#E0E0E0" CELLPADDING="5" ><TR ><TD ><PRE CLASS="programlisting" >{* start and end year can be relative to current year *} {html_select_date prefix='StartDate' time=$time start_year='-5' end_year='+1' display_days=false}</PRE ></TD ></TR ></TABLE ><P > With 2000 as the current year the output: </P ><TABLE BORDER="0" BGCOLOR="#E0E0E0" CELLPADDING="5" ><TR ><TD ><PRE CLASS="screen" ><select name="StartDateMonth"> <option value="1">January</option> <option value="2">February</option> .... snipped .... <option value="11">November</option> <option value="12" selected="selected">December</option> </select> <select name="StartDateYear"> <option value="1995">1995</option> .... snipped .... <option value="1999">1999</option> <option value="2000" selected="selected">2000</option> <option value="2001">2001</option> </select></PRE ></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ><P > See also <A HREF="language.function.html.select.time.html" ><TT CLASS="varname" >{html_select_time}</TT ></A >, <A HREF="language.modifier.date.format.html" ><TT CLASS="varname" >date_format</TT ></A >, <A HREF="language.variables.smarty.html#language.variables.smarty.now" ><TT CLASS="parameter" ><I >$smarty.now</I ></TT ></A > and the <A HREF="tips.dates.html" >date tips page</A >. </P ></DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE SUMMARY="Footer navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><A HREF="language.function.html.radios.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="index.html" ACCESSKEY="H" >Home</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="language.function.html.select.time.html" ACCESSKEY="N" >Next</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >{html_radios}</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="language.custom.functions.html" ACCESSKEY="U" >Up</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >{html_select_time}</TD ></TR ></TABLE ></DIV ></BODY ></HTML >