前{html_select_date}、{html_select_time}を紹介しましたが、それ以外のフォームもSmartyから簡単に作成できます。
html_input.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
//Smarty
require_once('./../smarty/libs/Smarty.php');
//チェックボックス
$form_checkbox=array(
'1'=>'チェックボックス1'
,'2'=>'チェックボックス2'
,'3'=>'チェックボックス3'
,'4'=>'チェックボックス4'
);
$form_checkbox_selected=array(2,4);
//ラジオボタン
$form_radiobutton=array(
'1'=>'ラジオボタン1'
,'2'=>'ラジオボタン2'
,'3'=>'ラジオボタン3'
,'4'=>'ラジオボタン4'
);
$form_radiobutton_selected=3;
//ドロップダウンリスト
$form_option=array(
'1'=>'リスト1'
,'2'=>'リスト2'
,'3'=>'リスト3'
,'4'=>'リスト4'
);
$form_option_selected=3;
//変数アサイン
$smarty->assign('form_checkbox',$form_checkbox);
$smarty->assign('form_checkbox_selected',$form_checkbox_selected);
$smarty->assign('form_radiobutton',$form_radiobutton);
$smarty->assign('form_radiobutton_selected',$form_radiobutton_selected);
$smarty->assign('form_option',$form_option);
$smarty->assign('form_option_selected',$form_option_selected);
//表示
$smarty->display('html_form.html');
|
html_form.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
<html><body>
{html_checkboxes name='form_checkbox' options=$form_checkbox
selected=$form_checkbox_selected separator='<br />'}
{html_radios name='form_radio' options=$form_radiobutton
selected=$form_radiobutton_selected separator='<br />'}
{html_options name='form_option' options=$form_option
selected=$form_option_selected}
{* checkboxを自力で表示する *}
{foreach from=$form_checkbox key=form_key item=form_item}
<input type="checkbox" name="form_checkbox[]" value="{$form_key|escape}"
{if $form_key|in_array:$form_checkbox_selected}checked="checked" {/if}>
{$form_item|escape}
</input><br />
{/foreach}
</body></html>
|
チェックボックス、ラジオボタン、ドロップダウンリストが簡単にできました。
その下に書いてある自力での表示と比べるとその威力は一目瞭然です。
内容が予め決まっているようなフォームであればテンプレートに書いてしまっても問題無いでしょうが、データベースに一覧を入れておいてそこから選択させるようなフォームを作りたい場合などに役に立つことでしょう。
PR
トラックバック
トラックバックURL: