Get Smarty

Donate

Paypal

Smarty Icon

You may use the Smarty logo according to the trademark notice.

Smarty Template Engine Smarty Template Engine

For sponsorship, advertising, news or other inquiries, contact us at:

Sites Using Smarty

Advertisement

{html_checkboxes}

{html_checkboxes} は、 提供されたデータから HTML チェックボックスグループを作成する カスタム関数 です。デフォルトで選択されているアイテムの指定もうまく配慮されます。

属性名 必須 デフォルト 概要
name string No checkbox チェックボックスリストの名前
values array Yes (options属性を用いない場合) n/a チェックボックスボタンの値の配列
output array Yes (options属性を用いない場合) n/a チェックボックスボタンの出力の配列
selected string/array No empty あらかじめ選択されたチェックボックス要素群
options associative array Yes (valuesとoutput属性を用いない場合) n/a values属性とoutput属性の連想配列
separator string No empty 各チェックボックスアイテムを区分するための文字列
assign string No empty チェックボックスのタグを出力せずに配列に格納する
labels boolean No TRUE 出力に <label> タグを加える
  • options を使用しない場合は、 必須の属性は values および output となります。

  • 全ての出力は XHTML 準拠です。

  • 上の属性リストに無いパラメータが与えられた場合は、作成された各 <input> タグの内側に名前/値のペアで表されます。

Example 8.6. {html_checkboxes}


<?php

$smarty->assign('cust_ids', array(1000,1001,1002,1003));
$smarty->assign('cust_names', array(
                                'Joe Schmoe',
                                'Jack Smith',
                                'Jane Johnson',
                                'Charlie Brown')
                              );
$smarty->assign('customer_id', 1001);

?>

  

テンプレート


{html_checkboxes name='id' values=$cust_ids output=$cust_names
   selected=$customer_id  separator='<br />'}

  

あるいは、このような PHP コードに対して


<?php

$smarty->assign('cust_checkboxes', array(
                                     1000 => 'Joe Schmoe',
                                     1001 => 'Jack Smith',
                                     1002 => 'Jane Johnson',
                                     1003 => 'Charlie Brown')
                                   );
$smarty->assign('customer_id', 1001);

?>

  

テンプレートはこのようになります。


{html_checkboxes name='id' options=$cust_checkboxes
   selected=$customer_id separator='<br />'}

  

どちらも、出力は次のようになります。


<label><input type="checkbox" name="id[]" value="1000" />Joe Schmoe</label><br />
<label><input type="checkbox" name="id[]" value="1001" checked="checked" />Jack Smith</label>
<br />
<label><input type="checkbox" name="id[]" value="1002" />Jane Johnson</label><br />
<label><input type="checkbox" name="id[]" value="1003" />Charlie Brown</label><br />

  

Example 8.7.  データベースの例 (PEAR あるいは ADODB)


<?php

$sql = 'select type_id, types from contact_types order by type';
$smarty->assign('contact_types',$db->getAssoc($sql));

$sql = 'select contact_id, contact_type_id, contact '
       .'from contacts where contact_id=12';
$smarty->assign('contact',$db->getRow($sql));

?>

  

データベースのクエリの出力


{html_checkboxes name='contact_type_id' options=$contact_types
        selected=$contact.contact_type_id separator='<br />'}


{html_radios} および {html_options} も参照してください。

Comments
No comments for this page.

Advertisement

Sponsors [info]

Sponsors