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 |