什么是 Smarty?
为什么要使用它?
使用案例和工作流程
语法比较
模板继承
最佳实践
速成课程
{html_select_time}
是一个自定义函数,可为你创建时间下拉列表。它可以显示任何或者所有时间、分钟、秒和子午线。
时间
属性可以有不同的格式。它可以是唯一的 timestamp、YYYYMMDDHHMMSS
格式的字符串或能够被 PHP 的 strtotime()
解析的字符串。
属性名称 | 类型 | 是否必须 | 默认值 | 描述 |
---|---|---|---|---|
前缀 | 字符串 | 否 | Time_ | 使用什么作为变量名前缀 |
时间 |
timestamp、DateTime、mysql timestamp 或能被 strtotime() 解析的任何字符串、数组(如果设置了 field_array,则以此函数生成) |
否 | 当前 timestamp | 预先选择的日期/时间是什么。如果给定了一个数组,则属性 field_array 和前缀用于标识提取小时、分钟、秒和子午线的数组元素。 |
显示小时 | 布尔值 | 否 | TRUE |
是否显示小时 |
显示分钟 | 布尔值 | 否 | TRUE |
是否显示分钟 |
显示秒 | 布尔值 | 否 | TRUE |
是否显示秒 |
显示子午线 | 布尔值 | 否 | TRUE |
是否显示子午线(am/pm) |
使用 24 小时制 | 布尔值 | 否 | TRUE |
是否使用 24 小时制 |
分钟间隔 | 整数 | 否 | 1 | 分钟下拉列表中的间隔数 |
秒间隔 | 整数 | 否 | 1 | 秒下拉列表中的间隔数 |
小时格式 | 字符串 | 否 | %02d | 设置小时标签的格式(sprintf) |
小时值格式 | 字符串 | 否 | %20d | 设置小时值的格式(sprintf) |
分钟格式 | 字符串 | 否 | %02d | 设置分钟标签的格式(sprintf) |
分钟值格式 | 字符串 | 否 | %20d | 设置分钟值的格式(sprintf) |
秒格式 | 字符串 | 否 | %02d | 第二个标签的格式应是什么(sprintf) |
second_value_format | 字符串 | 否 | %20d | 第二个值应该是什么格式(sprintf) |
field_array | 字符串 | 否 | n/a | 输出值到该名称的数组 |
all_extra | 字符串 | 否 | null | 如果给定,则向 select/input 标记添加其他属性 |
hour_extra | 字符串 | 否 | null | 如果给定,则向 select/input 标记添加其他属性 |
minute_extra | 字符串 | 否 | null | 如果给定,则向 select/input 标记添加其他属性 |
second_extra | 字符串 | 否 | null | 如果给定,则向 select/input 标记添加其他属性 |
meridian_extra | 字符串 | 否 | null | 如果给定,则向 select/input 标记添加其他属性 |
field_separator | 字符串 | 否 | \n | 在不同字段之间打印的字符串 |
option_separator | 字符串 | 否 | \n | 在一个字段的不同选项之间打印的字符串 |
all_id | 字符串 | 否 | null | 如果给定,则向所有 select/input 标记添加 id 属性 |
hour_id | 字符串 | 否 | null | 如果给定,则向 select/input 标记添加 id 属性 |
minute_id | 字符串 | 否 | null | 如果给定,则向 select/input 标记添加 id 属性 |
second_id | 字符串 | 否 | null | 如果给定,则向 select/input 标记添加 id 属性 |
meridian_id | 字符串 | 否 | null | 如果给定,则向 select/input 标记添加 id 属性 |
all_empty | 字符串 | 否 | null | 如果提供,则任何选择框的第一个元素的标签为此值,“”为其值。这有助于使选择框中显示“请选择”。 |
hour_empty | 字符串 | 否 | null | 如果提供,则小时选择框的第一个元素的标签为此值,“”为其值。这有助于使选择框中显示“请选择小时”。 |
minute_empty | 字符串 | 否 | null | 如果提供,则分钟选择框的第一个元素的标签为此值,“”为其值。这有助于使选择框中显示“请选择分钟”。 |
second_empty | 字符串 | 否 | null | 如果提供,则秒选择框的第一个元素的标签为此值,“”为其值。这有助于使选择框中显示“请选择秒”。 |
meridian_empty | 字符串 | 否 | null | 如果提供,则经度选择框的第一个元素的标签为此值,“”为其值。这有助于使选择框中显示“请选择经度”。 |
示例 8.18.{html_select_time}
{html_select_time use_24_hours=true}
在上午 9:20 和 23 秒时,上面的模板将输出
<select name="Time_Hour"> <option value="00">00</option> <option value="01">01</option> ... snipped .... <option value="08">08</option> <option value="09" selected>09</option> <option value="10">10</option> ... snipped .... <option value="22">22</option> <option value="23">23</option> </select> <select name="Time_Minute"> <option value="00">00</option> <option value="01">01</option> ... snipped .... <option value="19">19</option> <option value="20" selected>20</option> <option value="21">21</option> ... snipped .... <option value="58">58</option> <option value="59">59</option> </select> <select name="Time_Second"> <option value="00">00</option> <option value="01">01</option> ... snipped .... <option value="22">22</option> <option value="23" selected>23</option> <option value="24">24</option> ... snipped .... <option value="58">58</option> <option value="59">59</option> </select> <select name="Time_Meridian"> <option value="am" selected>AM</option> <option value="pm">PM</option> </select>