Smarty Manual
Prev |  | Next

# 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:

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

Prev | Home | Next
load_filter() | Up | register_compiler_function()