Smartyで書くフォーム要素

概要

Smartyに用意されている『カスタム要素』を使ってhtmlフォームを記述します。

目次

{html_checkboxes}

チェックボックスグループを作成します。

<?php
// データを配列にセット
$smarty->assign('checkboxes_array', array(
  1 => 'チェックボックス1',
  2 => 'チェックボックス2',
  3 => 'チェックボックス3',
  4 => 'チェックボックス4')
);
$smarty->assign('checked_id', array(1, 4));
?>

上記データをチェックボックスに仕立てるにはテンプレートファイルでこのように書きます。

{html_checkboxes name='id' options=$checkboxes_array selected=$checked_id separator='<br />'}

出力結果

<label><input type="checkbox" name="id[]" value="1" checked="checked" />チェックボックス1</label><br />
<label><input type="checkbox" name="id[]" value="2" />チェックボックス2</label><br />
<label><input type="checkbox" name="id[]" value="3" />チェックボックス3</label><br />
<label><input type="checkbox" name="id[]" value="4" checked="checked" />チェックボックス4</label><br />

{html_radios}

ラジオボタングループを作成します。

<?php
// データを配列にセット
$smarty->assign('radios_array', array(
  1 => 'ラジオボタン1',
  2 => 'ラジオボタン2',
  3 => 'ラジオボタン3',
  4 => 'ラジオボタン4')
);
$smarty->assign('radio_id', '2');
?>

上記データをラジオボタンに仕立てるにはテンプレートファイルでこのように書きます。

{html_radios name='id' options=$radios_array selected=$radio_id separator='<br />'}

出力結果

<label><input type="radio" name="id" value="1" />ラジオボタン1</label><br />
<label><input type="radio" name="id" value="2" checked="checked" />ラジオボタン2</label><br />
<label><input type="radio" name="id" value="3" />ラジオボタン3</label><br />
<label><input type="radio" name="id" value="4" />ラジオボタン4</label><br />

{html_options}

セレクトボックスを作成します。

<?php
// データを配列にセット
$smarty->assign('select_array', array(
  1 => 'セレクトボックス1',
  2 => 'セレクトボックス2',
  3 => 'セレクトボックス3',
  4 => 'セレクトボックス4')
);
$smarty->assign('select_id', '3');
?>

上記データをセレクトボックスに仕立てるにはテンプレートファイルでこのように書きます。

{html_options name='id' options=$select_array selected=$select_id separator='<br />'}

出力結果

<select name="id" separator="<br />">
<option label="セレクトボックス1" value="1">セレクトボックス1</option>
<option label="セレクトボックス2" value="2">セレクトボックス2</option>
<option label="セレクトボックス3" value="3" selected="selected">セレクトボックス3</option>
<option label="セレクトボックス4" value="4">セレクトボックス4</option>
</select>

{html_select_date}

日付のドロップダウンリストを作成します。

Smarty のテンプレートファイルでタイムスタンプを取得できます。

{html_select_date end_year="+3" month_format="%m" field_order="YMD" field_separator="/"}

出力結果

<select name="Date_Year">
<option label="2008" value="2008" selected="selected">2008</option>
<option label="2009" value="2009">2009</option>
<option label="2010" value="2010">2010</option>
<option label="2011" value="2011">2011</option>
</select>/<select name="Date_Month">
<option label="01" value="01">01</option>
<option label="02" value="02">02</option>
<option label="03" value="03">03</option>
<option label="04" value="04">04</option>
<option label="05" value="05">05</option>
<option label="06" value="06">06</option>
<option label="07" value="07">07</option>
<option label="08" value="08">08</option>
<option label="09" value="09">09</option>
<option label="10" value="10">10</option>
<option label="11" value="11">11</option>
<option label="12" value="12" selected="selected">12</option>
</select>/<select name="Date_Day">
<option label="01" value="1">01</option>
<option label="02" value="2">02</option>
<option label="03" value="3">03</option>
<option label="04" value="4">04</option>
<option label="05" value="5">05</option>
<option label="06" value="6">06</option>
<option label="07" value="7">07</option>
<option label="08" value="8">08</option>
<option label="09" value="9">09</option>
<option label="10" value="10">10</option>
~省略~
<option label="28" value="28">28</option>
<option label="29" value="29" selected="selected"ß>29</option>
<option label="30" value="30">30</option>
<option label="31" value="31">31</option>
</select>

投稿日:

ページのトップへ戻る