diff options
Diffstat (limited to 'vendor/smarty/smarty/docs/programmers/api-variables/variable-default-template-handler-func.md')
-rw-r--r-- | vendor/smarty/smarty/docs/programmers/api-variables/variable-default-template-handler-func.md | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/vendor/smarty/smarty/docs/programmers/api-variables/variable-default-template-handler-func.md b/vendor/smarty/smarty/docs/programmers/api-variables/variable-default-template-handler-func.md new file mode 100644 index 000000000..d8fcbb1ad --- /dev/null +++ b/vendor/smarty/smarty/docs/programmers/api-variables/variable-default-template-handler-func.md @@ -0,0 +1,50 @@ +\$default\_template\_handler\_func {#variable.default.template.handler.func} +================================== + +This function is called when a template cannot be obtained from its +resource. + +> **Note** +> +> The default handler is currently only invoked for file resources. It +> is not triggered when the resource itself cannot be found, in which +> case a SmartyException is thrown. + + + <?php + + $smarty = new Smarty(); + $smarty->default_template_handler_func = 'my_default_template_handler_func'; + + /** + * Default Template Handler + * + * called when Smarty's file: resource is unable to load a requested file + * + * @param string $type resource type (e.g. "file", "string", "eval", "resource") + * @param string $name resource name (e.g. "foo/bar.tpl") + * @param string &$content template's content + * @param integer &$modified template's modification time + * @param Smarty $smarty Smarty instance + * @return string|boolean path to file or boolean true if $content and $modified + * have been filled, boolean false if no default template + * could be loaded + */ + function my_default_template_handler_func($type, $name, &$content, &$modified, Smarty $smarty) { + if (false) { + // return corrected filepath + return "/tmp/some/foobar.tpl"; + } elseif (false) { + // return a template directly + $content = "the template source"; + $modified = time(); + return true; + } else { + // tell smarty that we failed + return false; + } + } + + ?> + + |