Name
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:
A string containing the function
nameAn array of the form
array(&$object, $method)with&$objectbeing a reference to an object and$methodbeing a string containing the method-nameAn array of the form
array($class, $method)with$classbeing the class name and$methodbeing a method of the class.
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.22. 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.
