Improved another chunk of the designers docs

This commit is contained in:
Simon Wisselink
2023-02-06 10:40:00 +01:00
parent 833ba57d42
commit 4c6afd6b37
24 changed files with 1232 additions and 1318 deletions

View File

@@ -1,39 +1,39 @@
Functions {#language.syntax.functions}
=========
# Functions
Every Smarty tag either prints a [variable](#language.variables) or
Every Smarty tag either prints a [variable](./language-syntax-variables.md) or
invokes some sort of function. These are processed and displayed by
enclosing the function and its [attributes](#language.syntax.attributes)
enclosing the function and its [attributes](./language-syntax-attributes.md)
within delimiters like so: `{funcname attr1="val1" attr2="val2"}`.
## Examples
{config_load file="colors.conf"}
```smarty
{config_load file="colors.conf"}
{include file="header.tpl"}
{include file="header.tpl"}
{if $logged_in}
Welcome, <span style="color:{#fontColor#}">{$name}!</span>
{else}
hi, {$name}
{/if}
{include file="footer.tpl"}
{if $logged_in}
Welcome, <span style="color:{#fontColor#}">{$name}!</span>
{else}
hi, {$name}
{/if}
{include file="footer.tpl"}
```
- Both [built-in functions](#language.builtin.functions) and [custom
functions](#language.custom.functions) have the same syntax within
- Both [built-in functions](../language-builtin-functions/index.md) and [custom
functions](../language-custom-functions.md) have the same syntax within
templates.
- Built-in functions are the **inner** workings of Smarty, such as
[`{if}`](#language.function.if),
[`{section}`](#language.function.section) and
[`{strip}`](#language.function.strip). There should be no need to
[`{if}`](../language-builtin-functions/language-function-if.md),
[`{section}`](../language-builtin-functions/language-function-section.md) and
[`{strip}`](../language-builtin-functions/language-function-strip.md). There should be no need to
change or modify them.
- Custom functions are **additional** functions implemented via
[plugins](#plugins). They can be modified to your liking, or you can
create new ones. [`{html_options}`](#language.function.html.options)
[plugins](../../programmers/plugins.md). They can be modified to your liking, or you can
create new ones. [`{html_options}`](../language-custom-functions/language-function-html-options.md)
is an example of a custom function.
See also [`registerPlugin()`](#api.register.plugin)
See also [`registerPlugin()`](../../programmers/api-functions/api-register-plugin.md)