サンプル1:変数を設定
■基本例
・スクリプト内の記述
$objTemplate->setVariable( 'sample1', 'サンプル' );
・テンプレート内の記述
{sample}
・出力結果
{sample}
■応用例
・スクリプト内で出力方法を指定
kana = [ {b_kana} ] → [ {a_kana} ]
date = [ {b_date} ] → [ {a_date} ]
money = [ {b_money} ] → [ {a_money} ]
urlencode = [ {b_url} ] → [ {a_url} ]
nl2br = [ {b_nl2br} ] → [ {a_nl2br} ]
・テンプレート内で出力方法を指定
func_k kana = [ {b_kana} ] → [ func_k( '{b_kana}', 'k' ) ]
func_d date = [ {b_date} ] → [ func_d( '{b_date}', 'Y年m月d日' ) ]
func_m money = [ {b_money} ] → [ func_m( '{b_money}', 2 ) ]
func_u urlencode = [ {b_url} ] → [ func_u( '{b_url}' ) ]
func_b nl2br = [ {b_nl2br} ] → [ func_b( '{b_nl2br}' ) ]
・テンプレート内で出力方法を指定2
func_c kana = [ {b_kana} ] → [ func_c( '{b_kana}', 'k' ) ]
func_c date = [ {b_date} ] → [ func_c( '{b_date}', 'd', 'Y年m月d日' ) ]
func_c money = [ {b_money} ] → [ func_c( '{b_money}', 'm', 2 ) ]
func_c urlencode = [ {b_url} ] → [ func_c( '{b_url}', 'u' ) ]
func_c nl2br = [ {b_nl2br} ] → [ func_c( '{b_nl2br}', 'b' ) ]
サンプル2:パスを設定
■例
・テンプレート内の記述
<img src="%IMG_PATH%/brocken.jpg" />
・出力結果

他にも%HTTP_URL%、%HTTPS_URL%、%PHP_SELF%、%ROOT_PATH%、%CSS_PATH%、%JS_PATH%が使用できる
サンプル3:ループ文
■例
・スクリプト内の記述
for( $i = 0; $i <= 10; $i++ )
{
$objTemplate->setCurrentBlock( 'loop' );
$objTemplate->setVariable( 'count', $i );
$objTemplate->parseCurrentBlock();
}
・テンプレート内の記述
<!-- BEGIN loop -->
ループ{count}<br />
<!-- END loop -->
・出力結果
ループ{count}
サンプル4:if文
■例
・スクリプト内の記述
if( ! isset( $aryParam['anser'] ) )
{
$objTemplate->touchBlock( 'question' );
$objTemplate->hideBlock( 'anser' );
}
else
{
$objTemplate->touchBlock( 'anser' );
$objTemplate->hideBlock( 'question' );
if( 'リキシマン' == $aryParam['anser'] )
{
$objTemplate->touchBlock( 'true' );
$objTemplate->hideBlock( 'false' );
}
else
{
$objTemplate->touchBlock( 'false' );
$objTemplate->hideBlock( 'true' );
}
}
・テンプレート内の記述
<!-- BEGIN question -->
<form method="post" action="%PHP_SELF%">
<input type="hidden" name="sample" value="4" />
ウルフマンのアニメ版の名前は?<br />
<input type="text" name="anser" size="20" /><br />
<input type="submit" value="解答" />
</form>
<!-- END question -->
<!-- BEGIN anser -->
<!-- BEGIN true -->
ご名答!
<!-- END true -->
<!-- BEGIN false -->
「リキシマン」と答えて頂きたかった
<!-- END false -->
<!-- END anser -->
・出力結果
ご名答!
「リキシマン」と答えて頂きたかった
サンプル5:ループ文内のif文
■例
・スクリプト内の記述
for( $i = 1; $i <= 10; $i++ )
{
$objTemplate->setCurrentBlock( 'loopif' );
$objTemplate->setVariable( 'count', $i );
if( 5 == $i )
{
$objTemplate->touchBlock( 'abnormal' );
$objTemplate->hideBlock( 'normal' );
}
else
{
$objTemplate->touchBlock( 'normal' );
$objTemplate->hideBlock( 'abnormal' );
}
$objTemplate->parseCurrentBlock();
}
・テンプレート内の記述
<!-- BEGIN loopif -->
<!-- BEGIN normal -->
ループ{count}<br />
<!-- END normal -->
<!-- BEGIN abnormal -->
ループ{count} 疲れたなあ<br />
<!-- END abnormal -->
<!-- END loopif -->
・出力結果
ループ{count}
ループ{count} 疲れたなあ
サンプル6:ブロック設定パラメータ
■例
・ブロック呼び出し元の記述
<block type="dynamic" name="sample" default="@hoge.com" maxcount="10" /><br />
・スクリプト内の記述
if( ! isset( $aryParam['email'] ) )
{
$objTemplate->setVariable( 'email', $aryArgs['default'] );
}
else
{
$objTemplate->setVariable( 'email', $aryParam['email'] );
}
for( $i = 1; $i <= $aryArgs['maxcount']; $i++ )
{
$objTemplate->setCurrentBlock( 'loop_block' );
$objTemplate->setVariable( 'count', $i );
$objTemplate->parseCurrentBlock();
}
・テンプレート内の記述
<form method="post" action="%PHP_SELF%">
<input type="hidden" name="sample" value="6" />
メールアドレス<br />
<input type="text" name="email" size="20" value="{email}" /><br />
<input type="submit" value="登録" />
</form>
<!-- BEGIN loop_block -->
ループ{count}<br />
<!-- END loop_block -->
・出力結果
ループ{count}
サンプル7:PEARオブジェクト
■例
・スクリプト内の記述
ob_start();
$aryPear['auth']->start();
$sAuth = ob_get_clean();
$sAuth = str_replace( '</form>', '<input type="hidden" name="sample" value="7" /></form>', $sAuth );
$objTemplate->setVariable( 'auth', $sAuth, 'h' );
if( $aryPear['auth']->getAuth() )
{
$objTemplate->setVariable( 'auth', '認証成功!' );
}
//$aryPear['auth']->logout();
//$aryPear['auth']->start();
if( ! $aryPear['cookie']->get( 'cookie' ) )
{
$aryPear['cookie']->set( 'cookie', date( 'Y/m/d H:i:s' ) );
}
else
{
$objTemplate->setVariable( 'cookie', $aryPear['cookie']->get( 'cookie' ) );
}
//$aryPear['cookie']->delete( 'cookie' );
$mRet = $aryPear['db']->connect( BLOCKEN_DB_DSN_SAMPLE, true );
if( ! MDB2::isError( $mRet ) )
{
$aryRet = $aryPear['db']->getAll( BLOCKEN_DB_DSN_SAMPLE, 'select * from sample' );
//$aryRet = $aryPear['db']->getRow( BLOCKEN_DB_DSN_SAMPLE, 'SELECT * FROM sample' );
//$sRet = $aryPear['db']->getOne( BLOCKEN_DB_DSN_SAMPLE, 'SELECT val FROM sample where id = 1' );
//$objRet = $aryPear['db']->query( BLOCKEN_DB_DSN_SAMPLE, 'SELECT * FROM sample' );
//while( $aryRow = $objRet->fetchRow() )
//{
//}
$objTemplate->setVariable( 'db', var_export( $aryRet, true ) );
}
else
{
$objTemplate->setVariable( 'db', '接続エラー!' );
}
if( ! $aryPear['session']->get( 'session' ) )
{
$aryPear['session']->set( 'session', date( 'Y/m/d H:i:s' ) );
}
else
{
$objTemplate->setVariable( 'session', $aryPear['session']->get( 'session' ) );
}
$aryPear['log']->emerg( 'emergなメッセージ' );
$aryPear['log']->alert( 'alertなメッセージ' );
$aryPear['log']->crit( 'critなメッセージ' );
$aryPear['log']->err( 'errなメッセージ' );
$aryPear['log']->warning( 'warningなメッセージ' );
$aryPear['log']->notice( 'noticeなメッセージ' );
$aryPear['log']->info( 'infoなメッセージ' );
$aryPear['log']->debug( 'debugなメッセージ' );
・出力結果
{auth}
db = {db}
session = {session}
cookie = {cookie}