{html_select_date}

{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 и Советы относительно дат.