What is Smarty?
Why use it?
Use Cases and Work Flow
Syntax Comparison
Template Inheritance
Best Practices
Crash Course
You may use the Smarty logo according to the trademark notice.
For sponsorship, advertising, news or other inquiries, contact us at:
register_block() — dynamically register block functions plugins
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 name
An array of the form array(&$object, $method) with
&$object being a reference to an
object and $method being a string
containing the method-name
An array of the form
array($class, $method) with
$class being the class name and
$method being 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.