Get Smarty



Smarty Icon

You may use the Smarty logo according to the trademark notice.

Smarty Template Engine Smarty Template Engine

For sponsorship, advertising, news or other inquiries, contact us at:

Sites Using Smarty



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()

// 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.

No comments for this page.


Sponsors [info]