register_block()

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 functions plugins. Pass in the block function name, followed by the PHP function callback that implements it.

The php-function callback impl can be either (a) a string containing the function name or (b) 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 or (c) an array of the form array(&$class, $method) with $class being a classname and $method being a class method of that class.

cacheable and cache_attrs can be omitted in most cases. See Controlling Cacheability of Plugins' Output on how to use them properly.

Example 13-1. register_block()

<?php
$smarty
->register_block('translate''do_translation');

function 
do_translation ($params$content, &$smarty, &$repeat)
{
  if (isset(
$content)) {
    
$lang $params['lang'];
    
// do some translation with $content
    
return $translation;
  }
}
?>

where the template is:

{* template *}
{translate lang="br"}
Hello, world!
{/translate}

See also unregister_block() and Plugin Block Functions.

© Copyright 2003-2023 www.php-editors.com. The ultimate PHP Editor and PHP IDE site.