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} является пользовательской функцией, которая создает выпадающее меню для выбора даты. Она может отображать поля для года, месяца и дня.
Имя атрибута | Тип | Обязателен | По умолчанию | Описание |
---|---|---|---|---|
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> для дня, месяца и года.
Example 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>
Example 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 и Советы относительно дат.