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}
は、日付のドロップダウンリストを作成する
カスタム関数 です。
年・月・日のいずれか又は全てを表示する事が出来ます。
以下の属性リストに無いパラメータが与えられた場合は、
作成された年、月、日の各 <select>
タグの内側に
名前/値 のペアで表されます。
属性名 | 型 | 必須 | デフォルト | 概要 |
---|---|---|---|---|
prefix | string | No | Date_ | name属性に付加する接頭辞 |
time | timestamp/ YYYY-MM-DD | No | UNIXタイムスタンプ又はYYYY-MM-DDフォーマットによる現在の時間 | 使用する日付/時間 |
start_year | string | No | 現在の年 | ドロップダウンリストの始めの年 (年を表す数字又は現在の年からの相対年数(+/- N)) |
end_year | string | No | start_yearと同じ | ドロップダウンリストの終わりの年 (年を表す数字又は現在の年からの相対年数(+/- N)) |
display_days | boolean | No | TRUE |
日を表示するかどうか |
display_months | boolean | No | TRUE |
月を表示するかどうか |
display_years | boolean | No | TRUE |
年を表示するかどうか |
month_format | string | No | %B | 月の表示フォーマット(strftime) |
day_format | string | No | %02d | 日の出力のフォーマット(sprintf) |
day_value_format | string | No | %d | 日の値のフォーマット (sprintf) |
year_as_text | boolean | No | FALSE |
年をテキストとして表示するかどうか |
reverse_years | boolean | No | FALSE |
年を逆順で表示する |
field_array | string | No | null | name属性が与えられた場合、結果の値を name[Day],name[Month],name[Year]の形の連想配列にしてPHPに返す |
day_size | string | No | null | 日のselectタグにsize属性を追加 |
month_size | string | No | null | 月のselectタグにsize属性を追加 |
year_size | string | No | null | 年のselectタグにsize属性を追加 |
all_extra | string | No | null | 全てのselect/inputタグに拡張属性を追加 |
day_extra | string | No | null | 日のselect/inputタグに拡張属性を追加 |
month_extra | string | No | null | 月のselect/inputタグに拡張属性を追加 |
year_extra | string | No | null | 年のselect/inputタグに拡張属性を追加 |
field_order | string | No | MDY | フィールドを表示する順序 |
field_separator | string | No | \n | フィールド間に表示する文字列 |
month_value_format | string | No | %m | strftime() フォーマットによる月の値(デフォルトは%m) |
year_empty | string | No | null | 年のセレクトボックスの最初の要素に、指定した文字列をlabelとして、 空文字 “” のvalueを持たせます。 例えば、セレクトボックスに “年を選択して下さい” と表示させる時に便利です。 年を選択しないことを示唆するのに、time属性に対して “-MM-DD” という値が指定できることに注意してください。 |
month_empty | string | No | null | 月のセレクトボックスの最初の要素に、指定した文字列をlabelとして、 空文字 “” のvalueを持たせます。月を選択しないことを示唆するのに、 time属性に対して “YYYY--DD” という値が指定できることに注意してください。 |
day_empty | string | No | null | 日のセレクトボックスの最初の要素に、指定した文字列をlabelとして、 空文字 “” のvalueを持たせます。日を選択しないことを示唆するのに、 time属性に対して “YYYY-MM-” という値が指定できることに注意してください。 |
日付に関するヒント
のページに、{html_select_date}
の値をタイムスタンプに変換する便利な php 関数が紹介されています。
Example 8.19. {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> ..... 省略 ..... <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> ..... 省略 ..... <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> ..... 省略 ..... <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>
Example 8.20. {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="11">November</option> <option value="12" selected="selected">December</option> </select> <select name="StartDateYear"> <option value="1995">1995</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
および 日付に関するヒント
も参照してください。