JavaScript Editor Javascript validator     Web page editor 


setCallbackFunction() -- Sets a callback function.


require_once 'HTML/Template/Sigma.php';

mixed HTML_Template_Sigma::setCallbackFunction (string $tplFunction, mixed $callback [, bool $preserveArgs = FALSE])


Sets a callback function. Sigma templates can contain simple function calls. This means that the author of the template can add a special placeholder to it: func_h1("embedded in h1") Sigma will parse the template for these placeholders and will allow you to define a callback function for them. Callback will be called automatically when the block containing such function call is parse()'d.

Please note that arguments to these template functions can contain variable placeholders: func_translate('Hello, {username}'), but not blocks or other function calls.

This should NOT be used to add logic (except some presentation one) to the template. If you use a lot of such callbacks and implement business logic through them, then you're reinventing the wheel. Consider using XML/XSLT, native PHP or some other template engine.

function h_one($arg)
    return '<h1>' . $arg . '</h1>';
// ...  
$tpl = new HTML_Template_Sigma(' ... ');
// ...  
$tpl->setCallbackFunction('h1', 'h_one');
// ...
func_h1('H1 Headline')


string $tplFunction

Function name in the template

mixed $callback

A callback: anything that can be passed to call_user_func_array()

boolean $preserveArgs

If TRUE, then no variable substitution in arguments will take place before function call

Return value

return SIGMA_OK on success, error object on failure


Table 47-1. Possible PEAR_Error values

Error codeError messageReasonSolution
SIGMA_INVALID_CALLBACKCallback does not existThe $callback is not an existing function or methodCheck spelling, check whether the object was correctly instantiated if using the method callback


This function can not be called statically.

JavaScript Editor Javascript validator     Web page editor