register_function() テンプレート関数プラグインを動的に登録します

説明

void register_function ( 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 は、ほとんどの場合に省略可能です。 これらの正しい使用法についての詳細は、キャッシュ可能なプラグインの出力の制御 を参照して下さい。

PHP

$smarty->register_function('date_now', 'print_current_date');

function print_current_date($params, &$smarty)
{
  if(empty($params['format'])) {
    $format = "%b %e, %Y";
  } else {
    $format = $params['format'];
  }
  return strftime($format,time());
}

テンプレート

{date_now}

{* 異なるフォーマット *}
{date_now format="%Y/%m/%d"}

関連記事

スポンサーリンク

POWER関数 べき乗

ホームページ製作・web系アプリ系の製作案件募集中です。

上に戻る