register_block()

register_block() -- 动态注册块函数插件

描述

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

    使用该函数动态注册块函数插件。传递块函数的name,后面是实现它的PHP函数名。

    PHP回调函数可以是:

    在大多数情况下,可以忽略cacheablecache_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()块函数