register_block()

register_block() -- dynamically register block functions plugins

Description

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

Use this to dynamically register block function plugins. Pass in the block function name, followed by the PHP function's name that implements it.

The php-function callback function can be either:

cacheable and cache_attrs can be omitted in most cases. See controlling cacheability of plugins' output section on how to implement them properly.

Example 13-1. register_block()

<?php
// function declaration
function do_translation ($params$content, &$smarty, &$repeat)
{
  if (isset(
$content)) {
    
$lang $params['lang'];
    
// do some translation with $content
    
return $translation;
  }
}

// register with smarty
$smarty->register_block('translate''do_translation');
?>

Where the template is:

{translate lang='br'}Hello, world!{/translate}

See also unregister_block() and the plugin block functions page.