{html_select_date} является пользовательской функцией, которая создает выпадающее меню для выбора даты. Она может отображать поля для года, месяца и дня.
Имя атрибута | Тип | Обязателен | По умолчанию | Описание |
---|---|---|---|---|
prefix | string | Нет | Date_ | префикс названий переменных |
time | timestamp/ГГГГ-ММ-ДД | Нет | текущее время в формате unix timestamp или ГГГГ-ММ-ДД | используемое время |
start_year | string | Нет | текущий год | Начальный год в выпадающем списке. Либо указывается явно, либо относительно текущего года (+/- N) |
end_year | string | Нет | аналогично start_year | Конечный год в выпадающем списке. Либо указывается явно, либо относительно текущего года (+/- N) |
display_days | boolean | Нет | true | выводить ли список дней |
display_months | boolean | Нет | true | выводить ли список месяцев |
display_years | boolean | Нет | true | выводить ли список лет |
month_format | string | Нет | %B | Формат названия месяцев (strftime) |
day_format | string | Нет | %02d | формат названия дней (sprintf) |
day_value_format | string | Нет | %d | формат значения дней (sprintf) |
year_as_text | boolean | Нет | false | Выводить ли значение года текстом |
reverse_years | boolean | Нет | false | Выводить года в обратном порядке |
field_array | string | Нет | null | название переменной (name), которая будет содержать выбранные значения в виде массива: name[Day], name[Year], name[Month]. |
day_size | string | Нет | null | Устанавливает атрибут size тэга select для дней |
month_size | string | Нет | null | Устанавливает атрибут size тэга select для месяцев |
year_size | string | Нет | null | Устанавливает атрибут size тэга select для лет |
all_extra | string | Нет | null | Устанавливает дополнительные атрибуты для всех тэгов select/input |
day_extra | string | Нет | null | Устанавливает дополнительные атрибуты тэгов select/input для дней |
month_extra | string | Нет | null | Устанавливает дополнительные атрибуты тэгов select/input для месяцев |
year_extra | string | Нет | null | Устанавливает дополнительные атрибуты тэгов select/input для лет |
field_order | string | Нет | MDY | Порядок следования полей (МДГ) |
field_separator | string | Нет | \n | текст, разделяющий поля |
month_value_format | string | Нет | %m | формат значения месяца (strftime). По умолчанию - %m (номер месяца). |
year_empty | string | Нет | null | Если указан, первый пункт элемента для выбора года станет такой надписью с пустым ("") значением. Это удобно для создания надписей вроде "Пожалуйста, выберите год" в качестве первого пункта выпадающего меню. Обратите внимание, что вы можете использовать значения типа "-MM-DD" для атрибута time, чтобы не выбирать год заранее. |
month_empty | string | No | null | Если указан, первый пункт элемента для выбора месяца станет такой надписью с пустым ("") значением. Обратите внимание, что вы можете использовать значения типа "YYYY--DD" для атрибута time, чтобы не выбирать месяц заранее. |
day_empty | string | No | null | Если указан, первый пункт элемента для выбора дня станет такой надписью с пустым ("") значением. Обратите внимание, что вы можете использовать значения типа "YYY-MM-" для атрибута time, чтобы не выбирать день заранее. |
Все параметры, которые не указаны в списке, выводятся в виде пар name/value в каждом созданном тэге <select> для дня, месяца и года.
Пример 8.17. {html_select_date}
Шаблон:
{html_select_date}
Результат обработки шаблона:
<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="2001" selected="selected">2001</option> </select>
Пример 8.18. {html_select_date}
{* года начала и конца могут быть заданы относительно текущего года *} {html_select_date prefix="StartDate" time=$time start_year="-5" end_year="+1" display_days=false}
Результатом обработки шаблона будет: (текущий год - 2000)
<select name="StartDateMonth"> <option value="1">January</option> <option value="2">February</option> <option value="3">March</option> <option value="4">April</option> <option value="5">May</option> <option value="6">June</option> <option value="7">July</option> <option value="8">August</option> <option value="9">September</option> <option value="10">October</option> <option value="11">November</option> <option value="12" selected="selected">December</option> </select> <select name="StartDateYear"> <option value="1995">1995</option> <option value="1996">1996</option> <option value="1997">1997</option> <option value="1998">1998</option> <option value="1999">1999</option> <option value="2000" selected="selected">2000</option> <option value="2001">2001</option> </select>
См. также {html_select_time}, date_format, $smarty.now и Советы относительно дат.