---
Array (2)
0 => Array (2)
page_nm => "トップ"
page_sysnm => "top"
1 => Array (3)
page_nm => "Smartyマニュアル"
page_sysnm => "manual_smarty"
this => 1
---
register_block()register_block()
register_block() -- ブロック関数プラグインを動的に登録します。
説明
void
register_block ( string name, mixed impl, bool cacheable, mixed cache_attrs)
ブロック関数プラグイン
を動的に登録します。パラメータには、ブロック関数名とそれを実装する
PHP のユーザー定義関数名を渡します。
PHP 関数のコールバック function
は、次のいずれかとなります。
関数名を含んだ文字列
array(&$object, $method) 形式の配列
(&$object はオブジェクトの参照で、
$method はメソッド名を含む文字列)
array($class, $method) という形式の配列
($class はクラス名であり、
$method はクラスのメソッド)
cacheable と cache_attrs
はほとんどの場合に省略可能です。これらの正しい使用法についての詳細は、
キャッシュ可能なプラグインの出力の制御
を参照して下さい。
例 13-1. register_block()
<?php // 関数の宣言 function do_translation ($params, $content, &$smarty, &$repeat) { if (isset($content)) { $lang = $params['lang']; // $content においていくつかの変換を行います return $translation; } }
// smarty に登録します $smarty->register_block('translate', 'do_translation'); ?>
|
テンプレート
{translate lang='br'}Hello, world!{/translate} |
|
unregister_block()
および
ブロック関数プラグイン
のページも参照してください。