忍者ブログ
[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。



2024/04/25 00:55 |
Smarty-07:Smartyのフォーム関数

{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
<?php
    
    //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


2009/08/24 17:35 | Comments(0) | TrackBack() | PHP

トラックバック

トラックバックURL:

コメント

コメントを投稿する






Vodafone絵文字 i-mode絵文字 Ezweb絵文字 (絵文字)



<<Smarty-08:テンプレート変数 | HOME | PHP1-87:したらばBBS/NGワードまとめて削除1.2>>
忍者ブログ[PR]