_phptemplate_callback
themes/engines/phptemplate/phptemplate.engine, line 54
- Versions
- 4.7
_phptemplate_callback($hook, $variables = array(),$file= NULL)- 5
_phptemplate_callback($hook, $variables = array(), $suggestions = array())
Execute a template engine call.
Each call to the template engine has two parts. Namely preparing the variables, and then doing something with them.
The first step is done by all template engines / themes, the second step is dependent on the engine used.
Parameters
$hook The name of the theme function being executed.
$variables A sequential array of variables passed to the theme function.
$suggestions An array of suggested template files to use. If none of the files are found, the default $hook.tpl.php will be used.
Return value
The HTML generated by the template system.
Code
<?php
function _phptemplate_callback($hook, $variables = array(), $suggestions = array()) {
global $theme_engine;
$variables = array_merge($variables, _phptemplate_default_variables($hook, $variables));
// Allow specified variables to be overridden
$variables_function = '_'. $theme_engine .'_variables';
if (function_exists($variables_function)) {
$variables = array_merge($variables, call_user_func($variables_function, $hook, $variables));
}
if (isset($variables['template_files'])) {
$suggestions = array_merge($suggestions, $variables['template_files']);
}
if (isset($variables['template_file'])) {
$suggestions[] = $variables['template_file'];
}
$hook_function = '_'. $theme_engine .'_'. $hook;
$default_function = '_'. $theme_engine .'_default';
if (function_exists($hook_function)) {
return call_user_func($hook_function, $variables, $suggestions);
}
elseif (function_exists($default_function)) {
return call_user_func($default_function, $hook, $variables, $suggestions);
}
}
?> 