Template Functions {#plugins.functions} ================== void smarty\_function\_ name array \$params object \$template All [attributes](#language.syntax.attributes) passed to template functions from the template are contained in the `$params` as an associative array. The output (return value) of the function will be substituted in place of the function tag in the template, eg the [`{fetch}`](#language.function.fetch) function. Alternatively, the function can simply perform some other task without any output, eg the [`{assign}`](#language.function.assign) function. If the function needs to assign some variables to the template or use some other Smarty-provided functionality, it can use the supplied `$template` object to do so eg `$template->foo()`. which can be used in the template as: Question: Will we ever have time travel? Answer: {eightball}. assign($params['var'], $params['value']); } ?> See also: [`registerPlugin()`](#api.register.plugin), [`unregisterPlugin()`](#api.unregister.plugin).