smarty template engine
Thursday, November 20, 2008  
download | documentation | faq | forum | mailing lists | changelog | contribs 


search for in the  


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.




 

credits 

Smarty Copyright © 2002-2008
New Digital Group, Inc.

All rights reserved.