1月17日木曜日: html_select_date
日付のドロップダウンリストを作成します。年・月・日のいずれか又は全てを表示する事が出来ます。
例 8-10. 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="4">April</option>
<option value="5">May</option>
<option value="6">June</option>
<option value="7">July</option>
<option value="8">August</option>
<option value="9">September</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="4">04</option>
<option value="5">05</option>
<option value="6">06</option>
<option value="7">07</option>
<option value="8">08</option>
<option value="9">09</option>
<option value="10">10</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="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
</select>
<select name="Date_Year">
<option value="2001" selected="selected">2001</option>
</select>
例 8-11. 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="3">March</option>
<option value="4">April</option>
<option value="5">May</option>
<option value="6">June</option>
<option value="7">July</option>
<option value="8">August</option>
<option value="9">September</option>
<option value="10">October</option>
<option value="11">November</option>
<option value="12" selected="selected">December</option>
</select>
<select name="StartDateYear">
<option value="1995">1995</option>
<option value="1996">1996</option>
<option value="1997">1997</option>
<option value="1998">1998</option>
<option value="1999">1999</option>
<option value="2000" selected="selected">2000</option>
<option value="2001">2001</option>
</select>
例 8-10. 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="4">April</option>
<option value="5">May</option>
<option value="6">June</option>
<option value="7">July</option>
<option value="8">August</option>
<option value="9">September</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="4">04</option>
<option value="5">05</option>
<option value="6">06</option>
<option value="7">07</option>
<option value="8">08</option>
<option value="9">09</option>
<option value="10">10</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="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
</select>
<select name="Date_Year">
<option value="2001" selected="selected">2001</option>
</select>
例 8-11. 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="3">March</option>
<option value="4">April</option>
<option value="5">May</option>
<option value="6">June</option>
<option value="7">July</option>
<option value="8">August</option>
<option value="9">September</option>
<option value="10">October</option>
<option value="11">November</option>
<option value="12" selected="selected">December</option>
</select>
<select name="StartDateYear">
<option value="1995">1995</option>
<option value="1996">1996</option>
<option value="1997">1997</option>
<option value="1998">1998</option>
<option value="1999">1999</option>
<option value="2000" selected="selected">2000</option>
<option value="2001">2001</option>
</select>
1月17日木曜日: html_radios
html_radiosは、提供されたデータからhtmlラジオボタングループを作成する カスタム関数です。デフォルトで選択されているアイテムの指定も うまく配慮されます。必要な属性は、代わりにoptionsを使用しない限りは values属性とoutput属性です。全ての出力はXHTML互換です。
前述の属性リストに無いパラメータが与えられた場合は、作成された各<input>タグの内側に名前/値のペアで表されます。
例 8-9. html_radios
index.php:
require('Smarty.class.php');
$smarty = new Smarty;
$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);
$smarty->display('index.tpl');
index.tpl:
{html_radios name="id" values=$cust_ids selected=$customer_id output=$cust_names separator="<br />"}
index.php:
require('Smarty.class.php');
$smarty = new Smarty;
$smarty->assign('cust_radios', array(
1000 => 'Joe Schmoe',
1001 => 'Jack Smith',
1002 => 'Jane Johnson',
1003 => 'Charlie Brown'));
$smarty->assign('customer_id', 1001);
$smarty->display('index.tpl');
index.tpl:
{html_radios name="id" options=$cust_radios selected=$customer_id separator="<br />"}
出力: (両例とも)
<input type="radio" name="id" value="1000">Joe Schmoe<br />
<input type="radio" name="id" value="1001" checked="checked">Jack Smith<br />
<input type="radio" name="id" value="1002">Jane Johnson<br />
<input type="radio" name="id" value="1003">Charlie Brown<br />
前述の属性リストに無いパラメータが与えられた場合は、作成された各<input>タグの内側に名前/値のペアで表されます。
例 8-9. html_radios
index.php:
require('Smarty.class.php');
$smarty = new Smarty;
$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);
$smarty->display('index.tpl');
index.tpl:
{html_radios name="id" values=$cust_ids selected=$customer_id output=$cust_names separator="<br />"}
index.php:
require('Smarty.class.php');
$smarty = new Smarty;
$smarty->assign('cust_radios', array(
1000 => 'Joe Schmoe',
1001 => 'Jack Smith',
1002 => 'Jane Johnson',
1003 => 'Charlie Brown'));
$smarty->assign('customer_id', 1001);
$smarty->display('index.tpl');
index.tpl:
{html_radios name="id" options=$cust_radios selected=$customer_id separator="<br />"}
出力: (両例とも)
<input type="radio" name="id" value="1000">Joe Schmoe<br />
<input type="radio" name="id" value="1001" checked="checked">Jack Smith<br />
<input type="radio" name="id" value="1002">Jane Johnson<br />
<input type="radio" name="id" value="1003">Charlie Brown<br />
1月16日水曜日: html_options
htmlのドロップダウンリストを作成します。デフォルトで選択されるアイテムも決定できます。必要な属性はvaluesとoutputです(これはoptions属性を使用しない場合)。
配列が渡された場合はhtmlのOPTGROUPとして扱われ、グループが表示されます。 再帰はOPTGROUPによってサポートされます。すべての出力はxhtml互換です。
任意であるname属性が与えられると、 <select name="グループ名"></select> タグによって オプションリストは囲まれます。未指定の場合は、単にオプションリストのみが生成されます。
前述の属性リストに無いパラメータが与えられた場合は、作成された各<select>タグの内側に名前/値のペアで表されます。任意のname属性が与えられない場合には、これらは無視されます。
例 8-8. html_options
EXAMPLE 1
---------
index.php:
require('Smarty.class.php');
$smarty = new Smarty;
$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);
$smarty->display('index.tpl');
index.tpl:
<select name=customer_id>
{html_options values=$cust_ids selected=$customer_id output=$cust_names}
</select>
EXAMPLE 2
---------
index.php:
require('Smarty.class.php');
$smarty = new Smarty;
$smarty->assign('cust_options', array(
1001 => 'Joe Schmoe',
1002 => 'Jack Smith',
1003 => 'Jane Johnson',
1004 => 'Charlie Brown'));
$smarty->assign('customer_id', 1001);
$smarty->display('index.tpl');
index.tpl:
<select name=customer_id>
{html_options options=$cust_options selected=$customer_id}
</select>
出力: (両例とも)
-----------------------
<select name=customer_id>
<option value="1000">Joe Schmoe</option>
<option value="1001" selected="selected">Jack Smith</option>
<option value="1002">Jane Johnson</option>
<option value="1003">Charlie Brown</option>
</select>
配列が渡された場合はhtmlのOPTGROUPとして扱われ、グループが表示されます。 再帰はOPTGROUPによってサポートされます。すべての出力はxhtml互換です。
任意であるname属性が与えられると、 <select name="グループ名"></select> タグによって オプションリストは囲まれます。未指定の場合は、単にオプションリストのみが生成されます。
前述の属性リストに無いパラメータが与えられた場合は、作成された各<select>タグの内側に名前/値のペアで表されます。任意のname属性が与えられない場合には、これらは無視されます。
例 8-8. html_options
EXAMPLE 1
---------
index.php:
require('Smarty.class.php');
$smarty = new Smarty;
$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);
$smarty->display('index.tpl');
index.tpl:
<select name=customer_id>
{html_options values=$cust_ids selected=$customer_id output=$cust_names}
</select>
EXAMPLE 2
---------
index.php:
require('Smarty.class.php');
$smarty = new Smarty;
$smarty->assign('cust_options', array(
1001 => 'Joe Schmoe',
1002 => 'Jack Smith',
1003 => 'Jane Johnson',
1004 => 'Charlie Brown'));
$smarty->assign('customer_id', 1001);
$smarty->display('index.tpl');
index.tpl:
<select name=customer_id>
{html_options options=$cust_options selected=$customer_id}
</select>
出力: (両例とも)
-----------------------
<select name=customer_id>
<option value="1000">Joe Schmoe</option>
<option value="1001" selected="selected">Jack Smith</option>
<option value="1002">Jane Johnson</option>
<option value="1003">Charlie Brown</option>
</select>
1月16日水曜日: html_image
html_imageは、画像のhtmlタグを生成するカスタム関数です。 height属性とwidth属性が与えられない場合は、イメージファイルから 自動的に計測されます。
basedir属性は、画像の相対パスの基準となるベースディレクトリです。 この属性が与えられない場合、webサーバのドキュメントルート(環境変数 DOCUMENT_ROOT)がベースとして使用されます。もしsecurityが有効なら、 画像のパスはセキュアディレクトリ内である必要があります。
href 属性は画像にリンクされたhrefの値です。この属性が与えられると、 <a href="LINKVALUE"></a> タグが画像タグの周りに置かれます。
テクニカルノート: html_imageは、画像を読み込んでheightとwidthを計測するための ディスクへのアクセスが必要です。キャッシュを使用しない場合は、 html_imageは避けてイメージタグを静的に用いるのが一般的には 最適なパフォーマンスのためのより良い手段です。
例 8-7. html_image の例
<?php
require('Smarty.class.php');
$smarty = new Smarty;
$smarty->display('index.tpl');
?>
where index.tpl is:
{html_image file="pumpkin.jpg"}
{html_image file="/path/from/docroot/pumpkin.jpg"}
{html_image file="../path/relative/to/currdir/pumpkin.jpg"}
出力: (可能)
<img src="pumpkin.jpg" alt="" width="44" height="68" />
<img src="/path/from/docroot/pumpkin.jpg" alt="" width="44" height="68" />
<img src="../path/relative/to/currdir/pumpkin.jpg" alt="" width="44" height="68" />
basedir属性は、画像の相対パスの基準となるベースディレクトリです。 この属性が与えられない場合、webサーバのドキュメントルート(環境変数 DOCUMENT_ROOT)がベースとして使用されます。もしsecurityが有効なら、 画像のパスはセキュアディレクトリ内である必要があります。
href 属性は画像にリンクされたhrefの値です。この属性が与えられると、 <a href="LINKVALUE"></a> タグが画像タグの周りに置かれます。
テクニカルノート: html_imageは、画像を読み込んでheightとwidthを計測するための ディスクへのアクセスが必要です。キャッシュを使用しない場合は、 html_imageは避けてイメージタグを静的に用いるのが一般的には 最適なパフォーマンスのためのより良い手段です。
例 8-7. html_image の例
<?php
require('Smarty.class.php');
$smarty = new Smarty;
$smarty->display('index.tpl');
?>
where index.tpl is:
{html_image file="pumpkin.jpg"}
{html_image file="/path/from/docroot/pumpkin.jpg"}
{html_image file="../path/relative/to/currdir/pumpkin.jpg"}
出力: (可能)
<img src="pumpkin.jpg" alt="" width="44" height="68" />
<img src="/path/from/docroot/pumpkin.jpg" alt="" width="44" height="68" />
<img src="../path/relative/to/currdir/pumpkin.jpg" alt="" width="44" height="68" />
1月16日水曜日: html_checkboxes
html_checkboxesは、提供されたデータからhtmlチェックボックスグループを 作成するカスタム関数です。デフォルトで選択されているアイテムの指定も うまく配慮されます。必要な属性は、代わりにoptionsを使用しない限りは values属性とoutput属性です。全ての出力はXHTML互換です。
前述の属性リストに無いパラメータが与えられた場合は、作成された各<input>タグの内側に名前/値のペアで表されます。
例 8-6. html_checkboxes
<?php
require('Smarty.class.php');
$smarty = new Smarty;
$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);
$smarty->display('index.tpl');
?>
index.tpl の一部:
{html_checkboxes name="id" values=$cust_ids selected=$customer_id output=$cust_names separator="<br />"}
<?php
require('Smarty.class.php');
$smarty = new Smarty;
$smarty->assign('cust_checkboxes', array(
1000 => 'Joe Schmoe',
1001 => 'Jack Smith',
1002 => 'Jane Johnson',
1003 => 'Charlie Brown'));
$smarty->assign('customer_id', 1001);
$smarty->display('index.tpl');
?>
index.tpl の一部:
{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 />
前述の属性リストに無いパラメータが与えられた場合は、作成された各<input>タグの内側に名前/値のペアで表されます。
例 8-6. html_checkboxes
<?php
require('Smarty.class.php');
$smarty = new Smarty;
$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);
$smarty->display('index.tpl');
?>
index.tpl の一部:
{html_checkboxes name="id" values=$cust_ids selected=$customer_id output=$cust_names separator="<br />"}
<?php
require('Smarty.class.php');
$smarty = new Smarty;
$smarty->assign('cust_checkboxes', array(
1000 => 'Joe Schmoe',
1001 => 'Jack Smith',
1002 => 'Jane Johnson',
1003 => 'Charlie Brown'));
$smarty->assign('customer_id', 1001);
$smarty->display('index.tpl');
?>
index.tpl の一部:
{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 />
1月16日水曜日: fetch
ローカルシステムやhttp, ftpからファイルを取得し、コンテンツを表示します。ファイル名が"http://"で始まるなら、webサイト上のページが取得されて表示されます。"ftp://"で始まるなら、ファイルはftpから取得されて表示されます。ローカルファイルの取得にはファイルのフルパス又は実行されるphpスクリプトからの相対パスを指定する必要があります。
assign属性が指定されると、fetchの出力はテンプレート変数に割り当てられます。(Smarty 1.5.0.以降)
テクニカルノート: これは、http リダイレクトをサポートしていません。 必要に応じてフェッチするwebページに終端のスラッシュを含める事。
テクニカルノート: セキュリティが有効に設定されている時にローカルからファイルを取得するには、セキュアディレクトリ($secure_dir)にあるファイルのみが取得可能です。
例 8-5. fetch
{* テンプレートにjavascriptを含める *}
{fetch file="/export/httpd/www.example.com/docs/navbar.js"}
{* 他のwebサイトからテンプレートに天候のテキストを埋め込む *}
{fetch file="http://www.myweather.com/68502/"}
{* ftpを経由してニュースヘッドラインファイルを取得する *}
{fetch file="ftp://user:password@ftp.example.com/path/to/currentheadlines.txt"}
{* 取得したコンテンツをテンプレート変数に割り当てる *}
{fetch file="http://www.myweather.com/68502/" assign="weather"}
{if $weather ne ""}
<b>{$weather}</b>
{/if}
assign属性が指定されると、fetchの出力はテンプレート変数に割り当てられます。(Smarty 1.5.0.以降)
テクニカルノート: これは、http リダイレクトをサポートしていません。 必要に応じてフェッチするwebページに終端のスラッシュを含める事。
テクニカルノート: セキュリティが有効に設定されている時にローカルからファイルを取得するには、セキュアディレクトリ($secure_dir)にあるファイルのみが取得可能です。
例 8-5. fetch
{* テンプレートにjavascriptを含める *}
{fetch file="/export/httpd/www.example.com/docs/navbar.js"}
{* 他のwebサイトからテンプレートに天候のテキストを埋め込む *}
{fetch file="http://www.myweather.com/68502/"}
{* ftpを経由してニュースヘッドラインファイルを取得する *}
{fetch file="ftp://user:password@ftp.example.com/path/to/currentheadlines.txt"}
{* 取得したコンテンツをテンプレート変数に割り当てる *}
{fetch file="http://www.myweather.com/68502/" assign="weather"}
{if $weather ne ""}
<b>{$weather}</b>
{/if}
1月11日金曜日: eval
与えられた変数をテンプレートとして評価します。テンプレート変数又はテンプレートタグを変数や設定ファイル内に埋め込むような用途に使われます。
assign属性が指定されると、evalの出力はテンプレート変数に割り当てられます。
テクニカルノート: 評価される変数はテンプレートと同じようにエスケープやセキュリティ機能に従います。
テクニカルノート: 評価される変数はリクエスト毎にコンパイルされるので、コンパイルされた形式では保存されません。ですが、キャッシュが有効に設定されている場合は、残りのテンプレートの出力に関してはキャッシュされます。
例 8-4. eval
setup.conf
----------
emphstart = <b>
emphend = </b>
title = Welcome to {$company}'s home page!
ErrorCity = You must supply a {#emphstart#}city{#emphend#}.
ErrorState = You must supply a {#emphstart#}state{#emphend#}.
index.tpl
---------
{config_load file="setup.conf"}
{eval var=$foo}
{eval var=#title#}
{eval var=#ErrorCity#}
{eval var=#ErrorState# assign="state_error"}
{$state_error}
出力:
This is the contents of foo.
Welcome to Foobar Pub & Grill's home page!
You must supply a <b>city</b>.
You must supply a <b>state</b>.
assign属性が指定されると、evalの出力はテンプレート変数に割り当てられます。
テクニカルノート: 評価される変数はテンプレートと同じようにエスケープやセキュリティ機能に従います。
テクニカルノート: 評価される変数はリクエスト毎にコンパイルされるので、コンパイルされた形式では保存されません。ですが、キャッシュが有効に設定されている場合は、残りのテンプレートの出力に関してはキャッシュされます。
例 8-4. eval
setup.conf
----------
emphstart = <b>
emphend = </b>
title = Welcome to {$company}'s home page!
ErrorCity = You must supply a {#emphstart#}city{#emphend#}.
ErrorState = You must supply a {#emphstart#}state{#emphend#}.
index.tpl
---------
{config_load file="setup.conf"}
{eval var=$foo}
{eval var=#title#}
{eval var=#ErrorCity#}
{eval var=#ErrorState# assign="state_error"}
{$state_error}
出力:
This is the contents of foo.
Welcome to Foobar Pub & Grill's home page!
You must supply a <b>city</b>.
You must supply a <b>state</b>.
1月11日金曜日: debug
{debug}は、ページにデバッグコンソールを出力します。これはSmartyのdebugの設定に関係なく動作します。これはプログラムを実行した時、使用されるテンプレートは表示せずに、割り当てられた変数のみを表示します。ですが、現在このテンプレートのスコープ内で有効な変数をすべて見る事ができます。
1月11日金曜日: cycle
値のセットによって循環します。テーブル内のセルの色を交互に2色又はそれ以上の色に変更したり、配列の値を循環するような事が簡単に行えます。
name属性を渡す事によって、テンプレート内で1つ以上の値のセットを通して循環を行えます。セットの各値にはユニークな名前を与えて下さい。
print属性にfalseをセットする事で、強制的に現在の値を表示しない事が可能です。これは、こっそり値をスキップするのに役に立つでしょう。
advance属性は値を繰り返すために使われます。falseをセットした時に次のcycleが呼ばれると、同じ値を表示します。
assign属性を指定した場合は、cycle関数の出力はテンプレートに出力される代わりにテンプレート変数に割り当てられます。
例 8-3. cycle
{section name=rows loop=$data}
<tr bgcolor="{cycle values="#eeeeee,#d0d0d0"}">
<td>{$data[rows]}</td>
</tr>
{/section}
<tr bgcolor="#eeeeee">
<td>1</td>
</tr>
<tr bgcolor="#d0d0d0">
<td>2</td>
</tr>
<tr bgcolor="#eeeeee">
<td>3</td>
</tr>
name属性を渡す事によって、テンプレート内で1つ以上の値のセットを通して循環を行えます。セットの各値にはユニークな名前を与えて下さい。
print属性にfalseをセットする事で、強制的に現在の値を表示しない事が可能です。これは、こっそり値をスキップするのに役に立つでしょう。
advance属性は値を繰り返すために使われます。falseをセットした時に次のcycleが呼ばれると、同じ値を表示します。
assign属性を指定した場合は、cycle関数の出力はテンプレートに出力される代わりにテンプレート変数に割り当てられます。
例 8-3. cycle
{section name=rows loop=$data}
<tr bgcolor="{cycle values="#eeeeee,#d0d0d0"}">
<td>{$data[rows]}</td>
</tr>
{/section}
<tr bgcolor="#eeeeee">
<td>1</td>
</tr>
<tr bgcolor="#d0d0d0">
<td>2</td>
</tr>
<tr bgcolor="#eeeeee">
<td>3</td>
</tr>
1月11日金曜日: counter
カウントした数字を表示します。{counter}が呼び出される度に、数字をカウントして記憶します。値の表示/非表示やカウントの間隔・進行方向を調整する事ができます。また、各々にユニークなnameを与える事によって、同時に複数のカウンタを実行する事ができます。name属性を指定しなかった場合は、"default"が使用されます。
assign属性が指定された場合は、counterの出力はテンプレート変数に割り当てられます。
例 8-2. counter
{* カウントの初期化 *}
{counter start=0 skip=2}<br />
{counter}<br />
{counter}<br />
{counter}<br />
出力:
0<br />
2<br />
4<br />
6<br />
assign属性が指定された場合は、counterの出力はテンプレート変数に割り当てられます。
例 8-2. counter
{* カウントの初期化 *}
{counter start=0 skip=2}<br />
{counter}<br />
{counter}<br />
{counter}<br />
出力:
0<br />
2<br />
4<br />
6<br />