Added TOCs, rewrote most important links in documentation. Linked README to new Github Pages site

This commit is contained in:
Simon Wisselink
2021-12-03 11:47:39 +01:00
parent ea5f03e2e2
commit 313707df94
19 changed files with 279 additions and 277 deletions

View File

@@ -4,7 +4,7 @@ Smarty is a template engine for PHP, facilitating the separation of presentation
![CI](https://github.com/smarty-php/smarty/workflows/CI/badge.svg)
## Documentation
Read the [documentation](https://www.smarty.net/docs/en/) to find out how to use it.
Read the [documentation](https://smarty-php.github.io/smarty/) to find out how to use it.
## Requirements
Smarty can be run with PHP 7.1 to PHP 8.0.

View File

@@ -2,32 +2,32 @@ Debugging Console {#chapter.debugging.console}
=================
There is a debugging console included with Smarty. The console informs
you of all the [included](#language.function.include) templates,
[assigned](#api.assign) variables and
[config](#language.config.variables) file variables for the current
you of all the [included](./language-builtin-functions/language-function-include.md) templates,
[assigned](../programmers/api-functions/api-assign.md) variables and
[config](./language-variables/language-config-variables.md) file variables for the current
invocation of the template. A template file named `debug.tpl` is
included with the distribution of Smarty which controls the formatting
of the console.
Set [`$debugging`](#variable.debugging) to TRUE in Smarty, and if needed
set [`$debug_tpl`](#variable.debug_template) to the template resource
path to `debug.tpl` (this is in [`SMARTY_DIR`](#constant.smarty.dir) by
Set [`$debugging`](../programmers/api-variables/variable-debugging.md) to TRUE in Smarty, and if needed
set [`$debug_tpl`](../programmers/api-variables/variable-debug-template.md) to the template resource
path to `debug.tpl` (this is in [`SMARTY_DIR`](../programmers/smarty-constants.md) by
default). When you load the page, a Javascript console window will pop
up and give you the names of all the included templates and assigned
variables for the current page.
To see the available variables for a particular template, see the
[`{debug}`](#language.function.debug) template function. To disable the
debugging console, set [`$debugging`](#variable.debugging) to FALSE. You
[`{debug}`](./language-builtin-functions/language-function-debug.md) template function. To disable the
debugging console, set [`$debugging`](../programmers/api-variables/variable-debugging.md) to FALSE. You
can also temporarily turn on the debugging console by putting
`SMARTY_DEBUG` in the URL if you enable this option with
[`$debugging_ctrl`](#variable.debugging.ctrl).
[`$debugging_ctrl`](../programmers/api-variables/variable-debugging-ctrl.md).
> **Note**
>
> The debugging console does not work when you use the
> [`fetch()`](#api.fetch) API, only when using
> [`display()`](#api.display). It is a set of javascript statements
> [`fetch()`](../programmers/api-functions/api-fetch.md) API, only when using
> [`display()`](../programmers/api-functions/api-display.md). It is a set of javascript statements
> added to the very bottom of the generated template. If you do not like
> javascript, you can edit the `debug.tpl` template to format the output
> however you like. Debug data is not cached and `debug.tpl` info is not
@@ -38,4 +38,4 @@ can also temporarily turn on the debugging console by putting
> The load times of each template and config file are in seconds, or
> fractions thereof.
See also [troubleshooting](#troubleshooting).
See also [troubleshooting](../appendixes/troubleshooting.md).

View File

@@ -34,7 +34,7 @@ updated.
Values of [config file variables](#language.config.variables) can be in
Values of [config file variables](./language-variables/language-config-variables.md) can be in
quotes, but not necessary. You can use either single or double quotes.
If you have a value that spans more than one line, enclose the entire
value with triple quotes (\"\"\"). You can put comments into config
@@ -51,12 +51,12 @@ global variables and the variables from that section are also loaded. If
a variable exists both as a global and in a section, the section
variable is used. If you name two variables the same within a section,
the last one will be used unless
[`$config_overwrite`](#variable.config.overwrite) is disabled.
[`$config_overwrite`](../programmers/api-variables/variable-config-overwrite.md) is disabled.
Config files are loaded into templates with the built-in template
function [`
{config_load}`](#language.function.config.load) or the API
[`configLoad()`](#api.config.load) function.
{config_load}`](./language-builtin-functions/language-function-config-load.md) or the API
[`configLoad()`](../programmers/api-functions/api-config-load.md) function.
You can hide variables or entire sections by prepending the variable
name or section name with a period(.) eg `[.hidden]`. This is useful if
@@ -69,9 +69,9 @@ Config files (or resources) are loaded by the same resource facilities
as templates. That means that a config file can also be loaded from a db
`$smarty->configLoad("db:my.conf")`.
See also [`{config_load}`](#language.function.config.load),
[`$config_overwrite`](#variable.config.overwrite),
[`$default_config_handler_func`](#variable.default.config.handler.func),
[`getConfigVars()`](#api.get.config.vars),
[`clearConfig()`](#api.clear.config) and
[`configLoad()`](#api.config.load)
See also [`{config_load}`](./language-builtin-functions/language-function-config-load.md),
[`$config_overwrite`](../programmers/api-variables/variable-config-overwrite.md),
[`$default_config_handler_func`](../programmers/api-variables/variable-default-config-handler-func.md),
[`getConfigVars()`](../programmers/api-functions/api-get-config-vars.md),
[`clearConfig()`](../programmers/api-functions/api-clear-config.md) and
[`configLoad()`](../programmers/api-functions/api-config-load.md)

View File

@@ -1,9 +1,9 @@
Basic Syntax {#language.basic.syntax}
Basic Syntax
============
All Smarty template tags are enclosed within delimiters. By default
these are `{` and `}`, but they can be
[changed](#variable.left.delimiter).
[changed](../programmers/api-variables/variable-left-delimiter.md).
For the examples in this manual, we will assume that you are using the
default delimiters. In Smarty, all content outside of delimiters is
@@ -11,10 +11,10 @@ displayed as static content, or unchanged. When Smarty encounters
template tags, it attempts to interpret them, and displays the
appropriate output in their place.
DESIGNERS.LANGUAGE-BASIC-SYNTAX.LANGUAGE-SYNTAX-COMMENTS
DESIGNERS.LANGUAGE-BASIC-SYNTAX.LANGUAGE-SYNTAX-VARIABLES
DESIGNERS.LANGUAGE-BASIC-SYNTAX.LANGUAGE-SYNTAX-FUNCTIONS
DESIGNERS.LANGUAGE-BASIC-SYNTAX.LANGUAGE-SYNTAX-ATTRIBUTES
DESIGNERS.LANGUAGE-BASIC-SYNTAX.LANGUAGE-SYNTAX-QUOTES
DESIGNERS.LANGUAGE-BASIC-SYNTAX.LANGUAGE-MATH
DESIGNERS.LANGUAGE-BASIC-SYNTAX.LANGUAGE-ESCAPING
- [Comments](./language-basic-syntax/language-syntax-comments.md)
- [Variables](./language-basic-syntax/language-syntax-variables.md)
- [Functions](./language-basic-syntax/language-syntax-functions.md)
- [Attributes](./language-basic-syntax/language-syntax-attributes.md)
- [Quotes](./language-basic-syntax/language-syntax-quotes.md)
- [Math](./language-basic-syntax/language-math.md)
- [Escaping](./language-basic-syntax/language-escaping.md)

View File

@@ -1,39 +1,40 @@
Built-in Functions {#language.builtin.functions}
==================
## Table of contents
- [{$var=...}](./language-builtin-functions.md)
- [{append}](./language-builtin-functions/language-function-append.md)
- [{assign}](./language-builtin-functions/language-function-assign.md)
- [{block}](./language-builtin-functions/language-function-block.md)
- [{call}](./language-builtin-functions/language-function-call.md)
- [{capture}](./language-builtin-functions/language-function-capture.md)
- [{config_load}](./language-builtin-functions/language-function-config.load)
- [{debug}](./language-builtin-functions/language-function-debug.md)
- [{extends}](./language-builtin-functions/language-function-extends.md)
- [{for}](./language-builtin-functions/language-function-for.md)
- [{foreach},{foreachelse}](./language-builtin-functions/language-function-foreach.md)
- [{function}](./language-builtin-functions/language-function-function.md)
- [{if},{elseif},{else}](./language-builtin-functions/language-function-if.md)
- [{include}](./language-builtin-functions/language-function-include.md)
- [{include_php}](./language-builtin-functions/language-function-include.php)
- [{insert}](./language-builtin-functions/language-function-insert.md)
- [{ldelim},{rdelim}](./language-builtin-functions/language-function-ldelim.md)
- [{literal}](./language-builtin-functions/language-function-literal.md)
- [{nocache}](./language-builtin-functions/language-function-nocache.md)
- [{php}](./language-builtin-functions/language-function-php.md)
- [{section},{sectionelse}](./language-builtin-functions/language-function-section.md)
- [{setfilter}](./language-builtin-functions/language-function-setfilter.md)
- [{strip}](./language-builtin-functions/language-function-strip.md)
- [{while}](./language-builtin-functions/language-function-while.md)
Smarty comes with several built-in functions. These built-in functions
are the integral part of the smarty template engine. They are compiled
into corresponding inline PHP code for maximum performance.
You cannot create your own [custom
functions](#language.custom.functions) with the same name; and you
functions](./language-custom-functions.md) with the same name; and you
should not need to modify the built-in functions.
A few of these functions have an `assign` attribute which collects the
result the function to a named template variable instead of being
output; much like the [`{assign}`](#language.function.assign) function.
DESIGNERS.LANGUAGE-BUILTIN-FUNCTIONS.LANGUAGE-FUNCTION-SHORTFORM-ASSIGN
DESIGNERS.LANGUAGE-BUILTIN-FUNCTIONS.LANGUAGE-FUNCTION-APPEND
DESIGNERS.LANGUAGE-BUILTIN-FUNCTIONS.LANGUAGE-FUNCTION-ASSIGN
DESIGNERS.LANGUAGE-BUILTIN-FUNCTIONS.LANGUAGE-FUNCTION-BLOCK
DESIGNERS.LANGUAGE-BUILTIN-FUNCTIONS.LANGUAGE-FUNCTION-CALL
DESIGNERS.LANGUAGE-BUILTIN-FUNCTIONS.LANGUAGE-FUNCTION-CAPTURE
DESIGNERS.LANGUAGE-BUILTIN-FUNCTIONS.LANGUAGE-FUNCTION-CONFIG-LOAD
DESIGNERS.LANGUAGE-BUILTIN-FUNCTIONS.LANGUAGE-FUNCTION-DEBUG
DESIGNERS.LANGUAGE-BUILTIN-FUNCTIONS.LANGUAGE-FUNCTION-EXTENDS
DESIGNERS.LANGUAGE-BUILTIN-FUNCTIONS.LANGUAGE-FUNCTION-FOR
DESIGNERS.LANGUAGE-BUILTIN-FUNCTIONS.LANGUAGE-FUNCTION-FOREACH
DESIGNERS.LANGUAGE-BUILTIN-FUNCTIONS.LANGUAGE-FUNCTION-FUNCTION
DESIGNERS.LANGUAGE-BUILTIN-FUNCTIONS.LANGUAGE-FUNCTION-IF
DESIGNERS.LANGUAGE-BUILTIN-FUNCTIONS.LANGUAGE-FUNCTION-INCLUDE
DESIGNERS.LANGUAGE-BUILTIN-FUNCTIONS.LANGUAGE-FUNCTION-INCLUDE-PHP
DESIGNERS.LANGUAGE-BUILTIN-FUNCTIONS.LANGUAGE-FUNCTION-INSERT
DESIGNERS.LANGUAGE-BUILTIN-FUNCTIONS.LANGUAGE-FUNCTION-LDELIM
DESIGNERS.LANGUAGE-BUILTIN-FUNCTIONS.LANGUAGE-FUNCTION-LITERAL
DESIGNERS.LANGUAGE-BUILTIN-FUNCTIONS.LANGUAGE-FUNCTION-NOCACHE
DESIGNERS.LANGUAGE-BUILTIN-FUNCTIONS.LANGUAGE-FUNCTION-PHP
DESIGNERS.LANGUAGE-BUILTIN-FUNCTIONS.LANGUAGE-FUNCTION-SECTION
DESIGNERS.LANGUAGE-BUILTIN-FUNCTIONS.LANGUAGE-FUNCTION-SETFILTER
DESIGNERS.LANGUAGE-BUILTIN-FUNCTIONS.LANGUAGE-FUNCTION-STRIP
DESIGNERS.LANGUAGE-BUILTIN-FUNCTIONS.LANGUAGE-FUNCTION-WHILE
output; much like the [`{assign}`](./language-builtin-functions/language-function-assign.md) function.

View File

@@ -4,17 +4,18 @@ Custom Functions {#language.custom.functions}
Smarty comes with several custom plugin functions that you can use in
the templates.
DESIGNERS.LANGUAGE-CUSTOM-FUNCTIONS.LANGUAGE-FUNCTION-COUNTER
DESIGNERS.LANGUAGE-CUSTOM-FUNCTIONS.LANGUAGE-FUNCTION-CYCLE
DESIGNERS.LANGUAGE-CUSTOM-FUNCTIONS.LANGUAGE-FUNCTION-EVAL
DESIGNERS.LANGUAGE-CUSTOM-FUNCTIONS.LANGUAGE-FUNCTION-FETCH
DESIGNERS.LANGUAGE-CUSTOM-FUNCTIONS.LANGUAGE-FUNCTION-HTML-CHECKBOXES
DESIGNERS.LANGUAGE-CUSTOM-FUNCTIONS.LANGUAGE-FUNCTION-HTML-IMAGE
DESIGNERS.LANGUAGE-CUSTOM-FUNCTIONS.LANGUAGE-FUNCTION-HTML-OPTIONS
DESIGNERS.LANGUAGE-CUSTOM-FUNCTIONS.LANGUAGE-FUNCTION-HTML-RADIOS
DESIGNERS.LANGUAGE-CUSTOM-FUNCTIONS.LANGUAGE-FUNCTION-HTML-SELECT-DATE
DESIGNERS.LANGUAGE-CUSTOM-FUNCTIONS.LANGUAGE-FUNCTION-HTML-SELECT-TIME
DESIGNERS.LANGUAGE-CUSTOM-FUNCTIONS.LANGUAGE-FUNCTION-HTML-TABLE
DESIGNERS.LANGUAGE-CUSTOM-FUNCTIONS.LANGUAGE-FUNCTION-MAILTO
DESIGNERS.LANGUAGE-CUSTOM-FUNCTIONS.LANGUAGE-FUNCTION-MATH
DESIGNERS.LANGUAGE-CUSTOM-FUNCTIONS.LANGUAGE-FUNCTION-TEXTFORMAT
## Table of contents
- [{counter}](./language-custom-functions/language-function-counter.md)
- [{cycle}](./language-custom-functions/language.function.cycle.md)
- [{eval}](./language-custom-functions/language.function.eval.md)
- [{fetch}](./language-custom-functions/language.function.fetch.md)
- [{html_checkboxes}](./language-custom-functions/language.function.html.checkboxes.md)
- [{html_image}](./language-custom-functions/language.function.html.image.md)
- [{html_options}](./language-custom-functions/language.function.html.options.md)
- [{html_radios}](./language-custom-functions/language.function.html.radios.md)
- [{html_select_date}](./language-custom-functions/language.function.html.select.date.md)
- [{html_select_time}](./language-custom-functions/language.function.html.select.time.md)
- [{html_table}](./language-custom-functions/language.function.html.table.md)
- [{mailto}](./language-custom-functions/language.function.mailto.md)
- [{math}](./language-custom-functions/language.function.math.md)
- [{textformat}](./language-custom-functions/language.function.textformat.md)

View File

@@ -1,15 +1,41 @@
Variable Modifiers {#language.modifiers}
==================
## Table of contents
- [capitalize](./language-modifiers/language.modifiers.md)
- [cat](./language-modifiers/language.modifier.md)
- [count_characters](./language-modifiers/language.modifier.md)
- [count_paragraphs](./language-modifiers/language.modifier.md)
- [count_sentences](./language-modifiers/language.modifier.md)
- [count_words](./language-modifiers/language.modifier.md)
- [date_format](./language-modifiers/language.modifier.md)
- [default](./language-modifiers/language.modifier.md)
- [escape](./language-modifiers/language.modifier.md)
- [from_charset](./language-modifiers/language.modifier.md)
- [indent](./language-modifiers/language.modifier.md)
- [lower](./language-modifiers/language.modifier.md)
- [nl2br](./language-modifiers/language.modifier.md)
- [regex_replace](./language-modifiers/language.modifier.md)
- [replace](./language-modifiers/language.modifier.md)
- [spacify](./language-modifiers/language.modifier.md)
- [string_format](./language-modifiers/language.modifier.md)
- [strip](./language-modifiers/language.modifier.md)
- [strip_tags](./language-modifiers/language.modifier.md)
- [to_charset](./language-modifiers/language.modifier.md)
- [truncate](./language-modifiers/language.modifier.md)
- [unescape](./language-modifiers/language.modifier.md)
- [upper](./language-modifiers/language.modifier.md)
- [wordwrap](./language-modifiers/language.modifier.md)
Variable modifiers can be applied to
[variables](#language.syntax.variables), [custom
functions](#language.custom.functions) or strings. To apply a modifier,
[variables](./language-variables.md), [custom
functions](./language-custom-functions.md) or strings. To apply a modifier,
specify the value followed by a `|` (pipe) and the modifier name. A
modifier may accept additional parameters that affect its behavior.
These parameters follow the modifier name and are separated by a `:`
(colon). Also, *all php-functions can be used as modifiers implicitly*
(more below) and modifiers can be
[combined](#language.combining.modifiers).
[combined](./language-combining-modifiers.md).
{* apply modifier to a variable *}
@@ -46,7 +72,7 @@ These parameters follow the modifier name and are separated by a `:`
- Modifiers can be applied to any type of variables, including arrays
- Modifiers can be applied to any type of variables, including arrays
and objects.
> **Note**
@@ -71,13 +97,13 @@ These parameters follow the modifier name and are separated by a `:`
> gives 9. To get the old result use parentheses like
> `{(8+2)|count_characters}`.
- Modifiers are autoloaded from the
[`$plugins_dir`](#variable.plugins.dir) or can be registered
explicitly with the [`registerPlugin()`](#api.register.plugin)
- Modifiers are autoloaded from the
[`$plugins_dir`](../programmers/api-variables/variable-plugins-dir.md) or can be registered
explicitly with the [`registerPlugin()`](../programmers/api-functions/api-register-plugin.md)
function. The later is useful for sharing a function between php
scripts and smarty templates.
- All php-functions can be used as modifiers implicitly, as
- All php-functions can be used as modifiers implicitly, as
demonstrated in the example above. However, using php-functions as
modifiers has two little pitfalls:
@@ -90,33 +116,8 @@ These parameters follow the modifier name and are separated by a `:`
- Secondly - if security is enabled, all php-functions that are to
be used as modifiers have to be declared trusted in the
`$modifiers` property of the securty policy. See the
[Security](#advanced.features.security) section for details.
[Security](../programmers/advanced-features/advanced-features-security.md) section for details.
See also [`registerPlugin()`](#api.register.plugin), [combining
modifiers](#language.combining.modifiers). and [extending smarty with
plugins](#plugins)
DESIGNERS.LANGUAGE-MODIFIERS.LANGUAGE-MODIFIER-CAPITALIZE
DESIGNERS.LANGUAGE-MODIFIERS.LANGUAGE-MODIFIER-CAT
DESIGNERS.LANGUAGE-MODIFIERS.LANGUAGE-MODIFIER-COUNT-CHARACTERS
DESIGNERS.LANGUAGE-MODIFIERS.LANGUAGE-MODIFIER-COUNT-PARAGRAPHS
DESIGNERS.LANGUAGE-MODIFIERS.LANGUAGE-MODIFIER-COUNT-SENTENCES
DESIGNERS.LANGUAGE-MODIFIERS.LANGUAGE-MODIFIER-COUNT-WORDS
DESIGNERS.LANGUAGE-MODIFIERS.LANGUAGE-MODIFIER-DATE-FORMAT
DESIGNERS.LANGUAGE-MODIFIERS.LANGUAGE-MODIFIER-DEFAULT
DESIGNERS.LANGUAGE-MODIFIERS.LANGUAGE-MODIFIER-ESCAPE
DESIGNERS.LANGUAGE-MODIFIERS.LANGUAGE-MODIFIER-FROM-CHARSET
DESIGNERS.LANGUAGE-MODIFIERS.LANGUAGE-MODIFIER-INDENT
DESIGNERS.LANGUAGE-MODIFIERS.LANGUAGE-MODIFIER-LOWER
DESIGNERS.LANGUAGE-MODIFIERS.LANGUAGE-MODIFIER-NL2BR
DESIGNERS.LANGUAGE-MODIFIERS.LANGUAGE-MODIFIER-REGEX-REPLACE
DESIGNERS.LANGUAGE-MODIFIERS.LANGUAGE-MODIFIER-REPLACE
DESIGNERS.LANGUAGE-MODIFIERS.LANGUAGE-MODIFIER-SPACIFY
DESIGNERS.LANGUAGE-MODIFIERS.LANGUAGE-MODIFIER-STRING-FORMAT
DESIGNERS.LANGUAGE-MODIFIERS.LANGUAGE-MODIFIER-STRIP
DESIGNERS.LANGUAGE-MODIFIERS.LANGUAGE-MODIFIER-STRIP-TAGS
DESIGNERS.LANGUAGE-MODIFIERS.LANGUAGE-MODIFIER-TO-CHARSET
DESIGNERS.LANGUAGE-MODIFIERS.LANGUAGE-MODIFIER-TRUNCATE
DESIGNERS.LANGUAGE-MODIFIERS.LANGUAGE-MODIFIER-UNESCAPE
DESIGNERS.LANGUAGE-MODIFIERS.LANGUAGE-MODIFIER-UPPER
DESIGNERS.LANGUAGE-MODIFIERS.LANGUAGE-MODIFIER-WORDWRAP
See also [`registerPlugin()`](../programmers/api-functions/api-register-plugin.md), [combining
modifiers](./language-combining-modifiers.md). and [extending smarty with
plugins](../programmers/plugins.md)

View File

@@ -1,15 +1,22 @@
Variables {#language.variables}
Variables
=========
## Table of contents
- [Variables assigned from PHP](./language-variables/language-assigned-variables.md)
- [Variable scopes](./language-variables/language-variable-scopes.md)
- [Variables loaded from config files](./language-variables/language-config-variables.md)
- [{$smarty} reserved variable](./language-variables/language-variables-smarty.md)
Smarty has several different types of variables. The type of the
variable depends on what symbol it is prefixed or enclosed within.
Variables in Smarty can be either displayed directly or used as
arguments for [functions](#language.syntax.functions),
[attributes](#language.syntax.attributes) and
[modifiers](#language.modifiers), inside conditional expressions, etc.
arguments for [functions](./language-basic-syntax/language-syntax-functions.md),
[attributes](./language-basic-syntax/language-syntax-attributes.md) and
[modifiers](./language-modifiers.md), inside conditional expressions, etc.
To print a variable, simply enclose it in the
[delimiters](#variable.left.delimiter) so that it is the only thing
[delimiters](../programmers/api-variables/variable-left-delimiter.md) so that it is the only thing
contained between them.
@@ -26,9 +33,5 @@ contained between them.
> **Note**
>
> An easy way to examine assigned Smarty variables is with the
> [debugging console](#chapter.debugging.console).
> [debugging console](./chapter-debugging-console.md).
DESIGNERS.LANGUAGE-VARIABLES.LANGUAGE-ASSIGNED-VARIABLES
DESIGNERS.LANGUAGE-VARIABLES.LANGUAGE-VARIABLE-SCOPES
DESIGNERS.LANGUAGE-VARIABLES.LANGUAGE-CONFIG-VARIABLES
DESIGNERS.LANGUAGE-VARIABLES.LANGUAGE-VARIABLES-SMARTY

View File

@@ -1,4 +1,4 @@
What is Smarty? {#what.is.smarty}
What is Smarty?
===============
Smarty is a template engine for PHP. More specifically, it facilitates a

View File

@@ -6,7 +6,7 @@ Smarty is a template engine for PHP, facilitating the separation of presentation
- [Preface](./preface.md)
- [Getting Started](./getting-started.md)
## Smarty for Designers
## Smarty for template developers
- [Basic Syntax](./designers/language-basic-syntax.md)
- [Variables](./designers/language-variables.md)
- [Variable Modifiers](./designers/language-modifiers.md)
@@ -16,7 +16,7 @@ Smarty is a template engine for PHP, facilitating the separation of presentation
- [Config Files](./designers/config-files.md)
- [Debugging Console](./designers/chapter-debugging-console.md)
## Smarty of Programmers
## Smarty for php developers
- [Charset Encoding](./programmers/charset.md)
- [Constants](./programmers/smarty-constants.md)
- [Smarty Class Variables](./programmers/api-variables.md)

View File

@@ -6,21 +6,13 @@ Preface
The Smarty design was largely driven by these goals:
- clean separation of presentation from application code
- PHP backend, Smarty template frontend
- complement PHP, not replace it
- fast development/deployment for programmers and designers
- quick and easy to maintain
- syntax easy to understand, no PHP knowledge necessary
- flexibility for custom development
- security: insulation from PHP
- free, open source
**What is Smarty?**
@@ -202,7 +194,7 @@ website.
There are tens of thousands of unique visitors on the Smarty website
daily, mostly developers reading documentation. Many well-known PHP
projects make use of Smarty such as XOOPS CMS, CMS Made Simple , Tiki
projects make use of Smarty such as XOOPS CMS, CMS Made Simple, Tiki
CMS/Groupware and X-Cart to name a few.
**Summary**
@@ -212,15 +204,9 @@ solution, it can accommodate your needs. There are numerous features
that make Smarty a great choice:
- separation of PHP from HTML/CSS just makes sense
- readability for organization and management
- security for 3rd party template access
- feature completeness, and easily extendable to your own needs
- massive user base, Smarty is here to stay
- LGPL license for commercial use
- 100% free to use, open source project

View File

@@ -1,12 +1,14 @@
Advanced Features {#advanced.features}
=================
PROGRAMMERS.ADVANCED-FEATURES.ADVANCED-FEATURES-SECURITY
PROGRAMMERS.ADVANCED-FEATURES.ADVANCED-FEATURES-TEMPLATE-SETTINGS
PROGRAMMERS.ADVANCED-FEATURES.ADVANCED-FEATURES-TEMPLATE-INHERITANCE
PROGRAMMERS.ADVANCED-FEATURES.ADVANCED-FEATURES-STREAMS
PROGRAMMERS.ADVANCED-FEATURES.ADVANCED-FEATURES-OBJECTS
PROGRAMMERS.ADVANCED-FEATURES.ADVANCED-FEATURES-STATIC-CLASSES
PROGRAMMERS.ADVANCED-FEATURES.ADVANCED-FEATURES-PREFILTERS
PROGRAMMERS.ADVANCED-FEATURES.ADVANCED-FEATURES-POSTFILTERS
PROGRAMMERS.ADVANCED-FEATURES.ADVANCED-FEATURES-OUTPUTFILTERS
## Table of contents
- [Security](./advanced-features/advanced-features-security.md)
- [Changing settings by template](./advanced-features/advanced-features-template-settings.md)
- [Template Inheritance](./advanced-features/advanced-features-template-inheritance.md)
- [Streams](./advanced-features/advanced-features-streams.md)
- [Objects](./advanced-features/advanced-features-objects.md)
- [Static Classes](./advanced-features/advanced-features-static-classes.md)
- [Prefilters](./advanced-features/advanced-features-prefilters.md)
- [Postfilters](./advanced-features/advanced-features-postfilters.md)
- [Output Filters](./advanced-features/advanced-features-outputfilters.md)

View File

@@ -1,62 +1,64 @@
Smarty Class Methods {#api.functions}
====================
## Table of contents
- [addConfigDir()](./api-functions/api-add-config-dir.md) — add a directory to the list of directories where config files are stored
- [addPluginsDir()](./api-functions/api-add-plugins-dir.md) — add a directory to the list of directories where plugins are stored
- [addTemplateDir()](./api-functions/api-add-template-dir.md) — add a directory to the list of directories where templates are stored
- [append()](./api-functions/api-append.md) — append an element to an assigned array
- [appendByRef()](./api-functions/api-append-by-ref.md) — append values by reference
- [assign()](./api-functions/api-assign.md) — assign variables/objects to the templates
- [assignByRef()](./api-functions/api-assign-by-ref.md) — assign values by reference
- [clearAllAssign()](./api-functions/api-clear-all-assign.md) — clears the values of all assigned variables
- [clearAllCache()](./api-functions/api-clear-all-cache.md) — clears the entire template cache
- [clearAssign()](./api-functions/api-clear-assign.md) — clears the value of an assigned variable
- [clearCache()](./api-functions/api-clear-cache.md) — clears the cache for a specific template
- [clearCompiledTemplate()](./api-functions/api-clear-compiled-tpl.md) — clears the compiled version of the specified template resource
- [clearConfig()](./api-functions/api-clear-config.md) — clears assigned config variables
- [compileAllConfig()](./api-functions/api-compile-all-config.md) — compiles all known config files
- [compileAllTemplates()](./api-functions/api-compile-all-templates.md) — compiles all known templates
- [configLoad()](./api-functions/api-config-load.md) — loads config file data and assigns it to the template
- [createData()](./api-functions/api-create-data.md) — creates a data object
- [createTemplate()](./api-functions/api-create-template.md) — returns a template object
- [disableSecurity()](./api-functions/api-disable-security.md) — disables template security
- [display()](./api-functions/api-display.md) — displays the template
- [enableSecurity()](./api-functions/api-enable-security.md) — enables template security
- [fetch()](./api-functions/api-fetch.md) — returns the template output
- [getCacheDir()](./api-functions/api-get-cache-dir.md) — return the directory where the rendered template's output is stored
- [getCompileDir()](./api-functions/api-get-compile-dir.md) — returns the directory where compiled templates are stored
- [getConfigDir()](./api-functions/api-get-config-dir.md) — return the directory where config files are stored
- [getConfigVars()](./api-functions/api-get-config-vars.md) — returns the given loaded config variable value
- [getPluginsDir()](./api-functions/api-get-plugins-dir.md) — return the directory where plugins are stored
- [getRegisteredObject()](./api-functions/api-get-registered-object.md) — returns a reference to a registered object
- [getTags()](./api-functions/api-get-tags.md) — return tags used by template
- [getTemplateDir()](./api-functions/api-get-template-dir.md) — return the directory where templates are stored
- [getTemplateVars()](./api-functions/api-get-template-vars.md) — returns assigned variable value(s)
- [isCached()](./api-functions/api-is-cached.md) — returns true if there is a valid cache for this template
- [loadFilter()](./api-functions/api-load-filter.md) — load a filter plugin
- [muteExpectedErrors()](./api-functions/api-mute-expected-errors.md) — mutes expected warnings and notices deliberately generated by Smarty
- [registerCacheResource()](./api-functions/api-register-cacheresource.md) — dynamically register CacheResources
- [registerClass()](./api-functions/api-register-class.md) — register a class for use in the templates
- [registerDefaultPluginHandler()](./api-functions/api-register-default-plugin-handler.md) — register a function which gets called on undefined tags
- [registerFilter()](./api-functions/api-register-filter.md) — dynamically register filters
- [registerPlugin()](./api-functions/api-register-plugin.md) — dynamically register plugins
- [registerObject()](./api-functions/api-register-object.md) — register an object for use in the templates
- [registerResource()](./api-functions/api-register-resource.md) — dynamically register resources
- [setCacheDir()](./api-functions/api-set-cache-dir.md) — set the directory where the rendered template's output is stored
- [setCompileDir()](./api-functions/api-set-compile-dir.md) — set the directory where compiled templates are stored
- [setConfigDir()](./api-functions/api-set-config-dir.md) — set the directories where config files are stored
- [setPluginsDir()](./api-functions/api-set-plugins-dir.md) — set the directories where plugins are stored
- [setTemplateDir()](./api-functions/api-set-template-dir.md) — set the directories where templates are stored
- [templateExists()](./api-functions/api-template-exists.md) — checks whether the specified template exists
- [unregisterCacheResource()](./api-functions/api-unregister-cacheresource.md) — dynamically unregister a CacheResource plugin
- [unregisterFilter()](./api-functions/api-unregister-filter.md) — dynamically unregister a filter
- [unregisterPlugin()](./api-functions/api-unregister-plugin.md) — dynamically unregister plugins
- [unregisterObject()](./api-functions/api-unregister-object.md) — dynamically unregister an object
- [unregisterResource()](./api-functions/api-unregister-resource.md) — dynamically unregister a resource plugin
- [testInstall()](./api-functions/api-test-install.md) — checks Smarty installation
> **Note**
>
> See
> [`Changing settings by template`](#advanced.features.template.settings)
> [`Changing settings by template`](./advanced-features/advanced-features-template-settings.md)
> section for how to use the functions for individual templates.
PROGRAMMERS.API-FUNCTIONS.API-ADD-CONFIG-DIR
PROGRAMMERS.API-FUNCTIONS.API-ADD-PLUGINS-DIR
PROGRAMMERS.API-FUNCTIONS.API-ADD-TEMPLATE-DIR
PROGRAMMERS.API-FUNCTIONS.API-APPEND
PROGRAMMERS.API-FUNCTIONS.API-APPEND-BY-REF
PROGRAMMERS.API-FUNCTIONS.API-ASSIGN
PROGRAMMERS.API-FUNCTIONS.API-ASSIGN-BY-REF
PROGRAMMERS.API-FUNCTIONS.API-CLEAR-ALL-ASSIGN
PROGRAMMERS.API-FUNCTIONS.API-CLEAR-ALL-CACHE
PROGRAMMERS.API-FUNCTIONS.API-CLEAR-ASSIGN
PROGRAMMERS.API-FUNCTIONS.API-CLEAR-CACHE
PROGRAMMERS.API-FUNCTIONS.API-CLEAR-COMPILED-TPL
PROGRAMMERS.API-FUNCTIONS.API-CLEAR-CONFIG
PROGRAMMERS.API-FUNCTIONS.API-COMPILE-ALL-CONFIG
PROGRAMMERS.API-FUNCTIONS.API-COMPILE-ALL-TEMPLATES
PROGRAMMERS.API-FUNCTIONS.API-CONFIG-LOAD
PROGRAMMERS.API-FUNCTIONS.API-CREATE-DATA
PROGRAMMERS.API-FUNCTIONS.API-CREATE-TEMPLATE
PROGRAMMERS.API-FUNCTIONS.API-DISABLE-SECURITY
PROGRAMMERS.API-FUNCTIONS.API-DISPLAY
PROGRAMMERS.API-FUNCTIONS.API-ENABLE-SECURITY
PROGRAMMERS.API-FUNCTIONS.API-FETCH
PROGRAMMERS.API-FUNCTIONS.API-GET-CACHE-DIR
PROGRAMMERS.API-FUNCTIONS.API-GET-COMPILE-DIR
PROGRAMMERS.API-FUNCTIONS.API-GET-CONFIG-DIR
PROGRAMMERS.API-FUNCTIONS.API-GET-CONFIG-VARS
PROGRAMMERS.API-FUNCTIONS.API-GET-PLUGINS-DIR
PROGRAMMERS.API-FUNCTIONS.API-GET-REGISTERED-OBJECT
PROGRAMMERS.API-FUNCTIONS.API-GET-TAGS
PROGRAMMERS.API-FUNCTIONS.API-GET-TEMPLATE-DIR
PROGRAMMERS.API-FUNCTIONS.API-GET-TEMPLATE-VARS
PROGRAMMERS.API-FUNCTIONS.API-IS-CACHED
PROGRAMMERS.API-FUNCTIONS.API-LOAD-FILTER
PROGRAMMERS.API-FUNCTIONS.API-MUTE-EXPECTED-ERRORS
PROGRAMMERS.API-FUNCTIONS.API-REGISTER-CACHERESOURCE
PROGRAMMERS.API-FUNCTIONS.API-REGISTER-CLASS
PROGRAMMERS.API-FUNCTIONS.API-REGISTER-DEFAULT-PLUGIN-HANDLER
PROGRAMMERS.API-FUNCTIONS.API-REGISTER-FILTER
PROGRAMMERS.API-FUNCTIONS.API-REGISTER-PLUGIN
PROGRAMMERS.API-FUNCTIONS.API-REGISTER-OBJECT
PROGRAMMERS.API-FUNCTIONS.API-REGISTER-RESOURCE
PROGRAMMERS.API-FUNCTIONS.API-SET-CACHE-DIR
PROGRAMMERS.API-FUNCTIONS.API-SET-COMPILE-DIR
PROGRAMMERS.API-FUNCTIONS.API-SET-CONFIG-DIR
PROGRAMMERS.API-FUNCTIONS.API-SET-PLUGINS-DIR
PROGRAMMERS.API-FUNCTIONS.API-SET-TEMPLATE-DIR
PROGRAMMERS.API-FUNCTIONS.API-TEMPLATE-EXISTS
PROGRAMMERS.API-FUNCTIONS.API-UNREGISTER-CACHERESOURCE
PROGRAMMERS.API-FUNCTIONS.API-UNREGISTER-FILTER
PROGRAMMERS.API-FUNCTIONS.API-UNREGISTER-PLUGIN
PROGRAMMERS.API-FUNCTIONS.API-UNREGISTER-OBJECT
PROGRAMMERS.API-FUNCTIONS.API-UNREGISTER-RESOURCE
PROGRAMMERS.API-FUNCTIONS.API-TEST-INSTALL

View File

@@ -4,6 +4,50 @@ Smarty Class Variables {#api.variables}
These are all of the available Smarty class variables. You can access
them directly, or use the corresponding setter/getter methods.
- [$allow_php_templates](./api-variables/variable-allow-php-templates.md)
- [$auto_literal](./api-variables/variable-auto-literal.md)
- [$autoload_filters](./api-variables/variable-autoload-filters.md)
- [$cache_dir](./api-variables/variable-cache-dir.md)
- [$cache_id](./api-variables/variable-cache-id.md)
- [$cache_lifetime](./api-variables/variable-cache-lifetime.md)
- [$cache_locking](./api-variables/variable-cache-locking.md)
- [$cache_modified_check](./api-variables/variable-cache-modified-check.md)
- [$caching](./api-variables/variable-caching.md)
- [$caching_type](./api-variables/variable-caching-type.md)
- [$compile_check](./api-variables/variable-compile-check.md)
- [$compile_dir](./api-variables/variable-compile-dir.md)
- [$compile_id](./api-variables/variable-compile-id.md)
- [$compile_locking](./api-variables/variable-compile-locking.md)
- [$compiler_class](./api-variables/variable-compiler-class.md)
- [$config_booleanize](./api-variables/variable-config-booleanize.md)
- [$config_dir](./api-variables/variable-config-dir.md)
- [$config_overwrite](./api-variables/variable-config-overwrite.md)
- [$config_read_hidden](./api-variables/variable-config-read-hidden.md)
- [$debug_tpl](./api-variables/variable-debug-template.md)
- [$debugging](./api-variables/variable-debugging.md)
- [$debugging_ctrl](./api-variables/variable-debugging-ctrl.md)
- [$default_config_type](./api-variables/variable-default-config-type.md)
- [$default_modifiers](./api-variables/variable-default-modifiers.md)
- [$default_resource_type](./api-variables/variable-default-resource-type.md)
- [$default_config_handler_func](./api-variables/variable-default-config-handler-func.md)
- [$default_template_handler_func](./api-variables/variable-default-template-handler-func.md)
- [$direct_access_security](./api-variables/variable-direct-access-security.md)
- [$error_reporting](./api-variables/variable-error-reporting.md)
- [$escape_html](./api-variables/variable-escape-html.md)
- [$force_cache](./api-variables/variable-force-cache.md)
- [$force_compile](./api-variables/variable-force-compile.md)
- [$left_delimiter](./api-variables/variable-left-delimiter.md)
- [$locking_timeout](./api-variables/variable-locking-timeout.md)
- [$merge_compiled_includes](./api-variables/variable-merge-compiled-includes.md)
- [$php_handling](./api-variables/variable-php-handling.md)
- [$plugins_dir](./api-variables/variable-plugins-dir.md)
- [$right_delimiter](./api-variables/variable-right-delimiter.md)
- [$smarty_debug_id](./api-variables/variable-smarty-debug-id.md)
- [$template_dir](./api-variables/variable-template-dir.md)
- [$trusted_dir](./api-variables/variable-trusted-dir.md)
- [$use_include_path](./api-variables/variable-use-include-path.md)
- [$use_sub_dirs](./api-variables/variable-use-sub-dirs.md)
> **Note**
>
> All class variables have magic setter/getter methods available.
@@ -15,50 +59,6 @@ them directly, or use the corresponding setter/getter methods.
> **Note**
>
> See
> [`Changing settings by template`](#advanced.features.template.settings)
> [`Changing settings by template`](./advanced-features/advanced-features-template-settings.md)
> section for how to change Smarty class variables for individual
> templates.
PROGRAMMERS.API-VARIABLES.VARIABLE-ALLOW-PHP-TEMPLATES
PROGRAMMERS.API-VARIABLES.VARIABLE-AUTO-LITERAL
PROGRAMMERS.API-VARIABLES.VARIABLE-AUTOLOAD-FILTERS
PROGRAMMERS.API-VARIABLES.VARIABLE-CACHE-DIR
PROGRAMMERS.API-VARIABLES.VARIABLE-CACHE-ID
PROGRAMMERS.API-VARIABLES.VARIABLE-CACHE-LIFETIME
PROGRAMMERS.API-VARIABLES.VARIABLE-CACHE-LOCKING
PROGRAMMERS.API-VARIABLES.VARIABLE-CACHE-MODIFIED-CHECK
PROGRAMMERS.API-VARIABLES.VARIABLE-CACHING
PROGRAMMERS.API-VARIABLES.VARIABLE-CACHING-TYPE
PROGRAMMERS.API-VARIABLES.VARIABLE-COMPILE-CHECK
PROGRAMMERS.API-VARIABLES.VARIABLE-COMPILE-DIR
PROGRAMMERS.API-VARIABLES.VARIABLE-COMPILE-ID
PROGRAMMERS.API-VARIABLES.VARIABLE-COMPILE-LOCKING
PROGRAMMERS.API-VARIABLES.VARIABLE-COMPILER-CLASS
PROGRAMMERS.API-VARIABLES.VARIABLE-CONFIG-BOOLEANIZE
PROGRAMMERS.API-VARIABLES.VARIABLE-CONFIG-DIR
PROGRAMMERS.API-VARIABLES.VARIABLE-CONFIG-OVERWRITE
PROGRAMMERS.API-VARIABLES.VARIABLE-CONFIG-READ-HIDDEN
PROGRAMMERS.API-VARIABLES.VARIABLE-DEBUG-TEMPLATE
PROGRAMMERS.API-VARIABLES.VARIABLE-DEBUGGING
PROGRAMMERS.API-VARIABLES.VARIABLE-DEBUGGING-CTRL
PROGRAMMERS.API-VARIABLES.VARIABLE-DEFAULT-CONFIG-TYPE
PROGRAMMERS.API-VARIABLES.VARIABLE-DEFAULT-MODIFIERS
PROGRAMMERS.API-VARIABLES.VARIABLE-DEFAULT-RESOURCE-TYPE
PROGRAMMERS.API-VARIABLES.VARIABLE-DEFAULT-CONFIG-HANDLER-FUNC
PROGRAMMERS.API-VARIABLES.VARIABLE-DEFAULT-TEMPLATE-HANDLER-FUNC
PROGRAMMERS.API-VARIABLES.VARIABLE-DIRECT-ACCESS-SECURITY
PROGRAMMERS.API-VARIABLES.VARIABLE-ERROR-REPORTING
PROGRAMMERS.API-VARIABLES.VARIABLE-ESCAPE-HTML
PROGRAMMERS.API-VARIABLES.VARIABLE-FORCE-CACHE
PROGRAMMERS.API-VARIABLES.VARIABLE-FORCE-COMPILE
PROGRAMMERS.API-VARIABLES.VARIABLE-LEFT-DELIMITER
PROGRAMMERS.API-VARIABLES.VARIABLE-LOCKING-TIMEOUT
PROGRAMMERS.API-VARIABLES.VARIABLE-MERGE-COMPILED-INCLUDES
PROGRAMMERS.API-VARIABLES.VARIABLE-PHP-HANDLING
PROGRAMMERS.API-VARIABLES.VARIABLE-PLUGINS-DIR
PROGRAMMERS.API-VARIABLES.VARIABLE-RIGHT-DELIMITER
PROGRAMMERS.API-VARIABLES.VARIABLE-SMARTY-DEBUG-ID
PROGRAMMERS.API-VARIABLES.VARIABLE-TEMPLATE-DIR
PROGRAMMERS.API-VARIABLES.VARIABLE-TRUSTED-DIR
PROGRAMMERS.API-VARIABLES.VARIABLE-USE-INCLUDE-PATH
PROGRAMMERS.API-VARIABLES.VARIABLE-USE-SUB-DIRS

View File

@@ -1,12 +1,12 @@
Caching
=======
Caching is used to speed up a call to [`display()`](#api.display) or
[`fetch()`](#api.fetch) by saving its output to a file. If a cached
Caching is used to speed up a call to [`display()`](./api-functions/api-display.md) or
[`fetch()`](./api-functions/api-fetch.md) by saving its output to a file. If a cached
version of the call is available, that is displayed instead of
regenerating the output. Caching can speed things up tremendously,
especially templates with longer computation times. Since the output of
[`display()`](#api.display) or [`fetch()`](#api.fetch) is cached, one
[`display()`](./api-functions/api-display.md) or [`fetch()`](./api-functions/api-fetch.md) is cached, one
cache file could conceivably be made up of several template files,
config files, etc.
@@ -17,7 +17,8 @@ might work well to cache this page for an hour or more. On the other
hand, if you are displaying a page with a timetable containing new
information by the minute, it would not make sense to cache this page.
PROGRAMMERS.CACHING.CACHING-SETTING-UP
PROGRAMMERS.CACHING.CACHING-MULTIPLE-CACHES
PROGRAMMERS.CACHING.CACHING-GROUPS PROGRAMMERS.CACHING.CACHING-CACHEABLE
PROGRAMMERS.CACHING.CACHING-CUSTOM
## Table of contents
- [Setting Up Caching](./caching/caching-setting-up.md)
- [Multiple Caches Per Page](./caching/caching-multiple-caches.md)
- [Controlling Cacheability of Output](./caching/caching-groups.md)
- [Custom Cache Implementation](./caching/caching-custom.md)

View File

@@ -7,7 +7,7 @@ Charset Encoding {#charset.encoding}
There are a variety of encodings for textual data, ISO-8859-1 (Latin1)
and UTF-8 being the most popular. Unless specified otherwise with the
`SMARTY_RESOURCE_CHAR_SET` constant, Smarty recognizes `UTF-8` as the
internal charset if [Multibyte String](&url.php-manual;mbstring) is
internal charset if [Multibyte String](https://www.php.net/mbstring) is
available, `ISO-8859-1` if not.
> **Note**
@@ -27,7 +27,7 @@ available, `ISO-8859-1` if not.
>
> Smarty\'s internals and core plugins are truly UTF-8 compatible since
> Smarty 3.1. To achieve unicode compatibility, the [Multibyte
> String](&url.php-manual;mbstring) PECL is required. Unless your PHP
> String](https://www.php.net/mbstring) PECL is required. Unless your PHP
> environment offers this package, Smarty will not be able to offer
> full-scale UTF-8 compatibility.

View File

@@ -1,6 +1,20 @@
Extending Smarty With Plugins {#plugins}
=============================
## Table of contents
- [How Plugins Work](./plugins/plugins-howto.md)
- [Naming Conventions](./plugins/plugins-naming-conventions.md)
- [Writing Plugins](./plugins/plugins-writing.md)
- [Template Functions](./plugins/plugins-functions.md)
- [Modifiers](./plugins/plugins-modifiers.md)
- [Block Functions](./plugins/plugins-block-functions.md)
- [Compiler Functions](./plugins/plugins-compiler-functions.md)
- [Prefilters/Postfilters](./plugins/plugins-prefilters-postfilters.md)
- [Output Filters](./plugins/plugins-outputfilters.md)
- [Resources](./plugins/plugins-resources.md)
- [Inserts](./plugins/plugins-inserts.md)
Version 2.0 introduced the plugin architecture that is used for almost
all the customizable functionality of Smarty. This includes:
@@ -28,15 +42,3 @@ If you did not use the API but instead modified the class variables
`$custom_funcs`, `$custom_mods`, and other ones directly, then you will
need to adjust your scripts to either use the API or convert your custom
functionality into plugins.
PROGRAMMERS.PLUGINS.PLUGINS-HOWTO
PROGRAMMERS.PLUGINS.PLUGINS-NAMING-CONVENTIONS
PROGRAMMERS.PLUGINS.PLUGINS-WRITING
PROGRAMMERS.PLUGINS.PLUGINS-FUNCTIONS
PROGRAMMERS.PLUGINS.PLUGINS-MODIFIERS
PROGRAMMERS.PLUGINS.PLUGINS-BLOCK-FUNCTIONS
PROGRAMMERS.PLUGINS.PLUGINS-COMPILER-FUNCTIONS
PROGRAMMERS.PLUGINS.PLUGINS-PREFILTERS-POSTFILTERS
PROGRAMMERS.PLUGINS.PLUGINS-OUTPUTFILTERS
PROGRAMMERS.PLUGINS.PLUGINS-RESOURCES
PROGRAMMERS.PLUGINS.PLUGINS-INSERTS

View File

@@ -2,15 +2,18 @@ Resources
=========
The templates may come from a variety of sources. When you
[`display()`](#api.display) or [`fetch()`](#api.fetch) a template, or
[`display()`](./api-functions/api-display.md) or [`fetch()`](./api-functions/api-fetch.md) a template, or
when you include a template from within another template, you supply a
resource type, followed by the appropriate path and template name. If a
resource is not explicitly given, the value of
[`$default_resource_type`](#variable.default.resource.type) (default:
[`$default_resource_type`](./api-variables/variable-default-resource-type.md) (default:
\"file\") is assumed.
PROGRAMMERS.RESOURCES.RESOURCES-FILE
PROGRAMMERS.RESOURCES.RESOURCES-STRING
PROGRAMMERS.RESOURCES.RESOURCES-STREAMS
PROGRAMMERS.RESOURCES.RESOURCES-EXTENDS
PROGRAMMERS.RESOURCES.RESOURCES-CUSTOM
## Table of contents
- [File Template Resources](./resources/resources-file.md)
- [String Template Resources](./resources/resources-string.md)
- [Stream Template Resources](./resources/resources-streams.md)
- [Extends Template Resources](./resources/resources-extends.md)
- [Custom Template Resources](./resources/resources-custom.md)

View File

@@ -23,5 +23,5 @@ to determine the appropriate value automatically. If defined, the path
See also [`$smarty.const`](#language.variables.smarty.const) and
[`$php_handling constants`](#variable.php.handling)
See also [`$smarty.const`](../designers/language-variables/language-variables-smarty.md) and
[`$php_handling constants`](./api-variables/variable-php-handling.md)