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.