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.
Script:
<?php
function h_one($arg)
{
return '<h1>' . $arg . '</h1>';
}
// ...
$tpl = new HTML_Template_Sigma(' ... ');
// ...
$tpl->setCallbackFunction('h1', 'h_one');
// ...
$tpl->show()
?> |
...
func_h1('H1 Headline')
... |
Function name in the template
A callback: anything that can be passed to call_user_func_array()
If TRUE, then no variable substitution in arguments will take place before function call
Table 41-1. Possible PEAR_Error values
| Error code | Error message | Reason | Solution |
|---|---|---|---|
| SIGMA_INVALID_CALLBACK | Callback does not exist | The $callback is not an existing function or method | Check spelling, check whether the object was correctly instantiated if using the method callback |