Files
smarty/docs/designers/language-basic-syntax/language-syntax-functions.md
Simon Wisselink cdf1ed2a50 Simplified the (no)caching architecture by:
- removing support for $cache_attrs for registered plugins,
- removing the undocumented {make_nocache} tag and the deprecated {insert} tag and associated code
- removing support for a compile_id property on include tags.

Fixes a bug in extends: resources by propagating the nocache-hashes between a master template and it's subtemplates in \Smarty\Template::_subTemplateRender. This might need further improvement.
2023-01-13 15:47:57 +01:00

1.3 KiB

Functions

Every Smarty tag either prints a variable or invokes some sort of function. These are processed and displayed by enclosing the function and its attributes within delimiters like so: {funcname attr1="val1" attr2="val2"}.

{config_load file="colors.conf"}

{include file="header.tpl"}

{if $logged_in}
    Welcome, <span style="color:{#fontColor#}">{$name}!</span>
{else}
    hi, {$name}
{/if}

{include file="footer.tpl"}
  • Both built-in functions and custom functions have the same syntax within templates.

  • Built-in functions are the inner workings of Smarty, such as {if}, {section} and {strip}. There should be no need to change or modify them.

  • Custom functions are additional functions implemented via plugins. They can be modified to your liking, or you can create new ones. {html_options} is an example of a custom function.

See also registerPlugin()