smarty @Wiki

register_block()

最終更新:

匿名ユーザー

- view
だれでも歓迎! 編集

register_block()


void register_block ( string name, mixed impl, bool cacheable, mixed cache_attrs)

ブロック関数プラグインを動的に登録します。
パラメータには、ブロック関数名とそれを実装するphpのユーザー定義関数名を渡します。

php関数をコールバックするための impl は、次の3つのどれかでありえます。
  • (a) 関数名を含んだ文字列
  • (b) array(&$object, $method) という形式の配列 (&$object はオブジェクトの参照であり、$method はメソッド名を含む文字列
  • (c) array(&$class, $method) という形式の配列($class はクラス名であり、 $method はクラスのメソッド)

$cacheable?$cache_attrs?はほとんどの場合は省略する事が出来ます。
これらの正しい使用法についての詳細は、キャッシュ可能なプラグインの出力の制御を参照して下さい。

例 1. register_block

<?php
$smarty->register_block("translate", "do_translation");

function do_translation ($params, $content, &$smarty, &$repeat)
{
 if (isset($content)) {
   $lang = $params['lang'];
   // $contentにおいていくつかの翻訳を行う
   return $translation;
 }
}
?>
テンプレート: 
{* template *}
{translate lang="br"}
Hello, world!
{/translate}

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

記事メニュー
人気記事ランキング
目安箱バナー