File: language-syntax-functions.md

package info (click to toggle)
smarty4 4.5.5-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 3,136 kB
  • sloc: php: 18,847; yacc: 986; makefile: 48; sh: 12
file content (40 lines) | stat: -rw-r--r-- 1,506 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# Functions

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.md)
within delimiters like so: `{funcname attr1="val1" attr2="val2"}`.

## Examples

```smarty
{config_load file="colors.conf"}

{include file="header.tpl"}
{insert file="banner_ads.tpl" title="My Site"}

{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/index.md) and [custom
    functions](../language-custom-functions/index.md) have the same syntax within
    templates.

-   Built-in functions are the **inner** workings of Smarty, such as
    [`{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](../../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()`](../../programmers/api-functions/api-register-plugin.md)