diff options
Diffstat (limited to 'docs/designers/language-builtin-functions/language-function-insert.md')
| -rw-r--r-- | docs/designers/language-builtin-functions/language-function-insert.md | 86 |
1 files changed, 0 insertions, 86 deletions
diff --git a/docs/designers/language-builtin-functions/language-function-insert.md b/docs/designers/language-builtin-functions/language-function-insert.md index 54f0729d..e69de29b 100644 --- a/docs/designers/language-builtin-functions/language-function-insert.md +++ b/docs/designers/language-builtin-functions/language-function-insert.md @@ -1,86 +0,0 @@ -# {insert} - -> **Note** -> -> `{insert}` tags are deprecated from Smarty, and should not be used. -> Put your PHP logic in PHP scripts or plugin functions instead. -> As of Smarty 3.1 the `{insert}` tags are only available from -> [SmartyBC](#bc). - -`{insert}` tags work much like [`{include}`](./language-function-include.md) -tags, except that `{insert}` tags are NOT cached when template -[caching](../../programmers/caching.md) is enabled. They will be executed on every -invocation of the template. - -| Attribute Name | Required | Description | -|----------------|----------|----------------------------------------------------------------------------------| -| name | Yes | The name of the insert function (insert_`name`) or insert plugin | -| assign | No | The name of the template variable the output will be assigned to | -| script | No | The name of the php script that is included before the insert function is called | -| \[var \...\] | No | variable to pass to insert function | - -## Examples - -Let's say you have a template with a banner slot at the top of the -page. The banner can contain any mixture of HTML, images, flash, etc. so -we can't just use a static link here, and we don't want this contents -cached with the page. In comes the {insert} tag: the template knows -\#banner\_location\_id\# and \#site\_id\# values (gathered from a -[config file](../config-files.md)), and needs to call a function to get the -banner contents. - -```smarty - {* example of fetching a banner *} - {insert name="getBanner" lid=#banner_location_id# sid=#site_id#} - {insert "getBanner" lid=#banner_location_id# sid=#site_id#} {* short-hand *} -``` - -In this example, we are using the name "getBanner" and passing the -parameters \#banner\_location\_id\# and \#site\_id\#. Smarty will look -for a function named insert\_getBanner() in your PHP application, -passing the values of \#banner\_location\_id\# and \#site\_id\# as the -first argument in an associative array. All {insert} function names in -your application must be prepended with "insert_" to remedy possible -function name-space conflicts. Your insert\_getBanner() function should -do something with the passed values and return the results. These -results are then displayed in the template in place of the {insert} tag. -In this example, Smarty would call this function: -insert_getBanner(array("lid" => "12345","sid" => "67890")); -and display the returned results in place of the {insert} tag. - -- If you supply the `assign` attribute, the output of the `{insert}` - tag will be assigned to this template variable instead of being - output to the template. - - > **Note** - > - > Assigning the output to a template variable isn't too useful with - > [caching](../../programmers/api-variables/variable-caching.md) enabled. - -- If you supply the `script` attribute, this php script will be - included (only once) before the `{insert}` function is executed. - This is the case where the insert function may not exist yet, and a - php script must be included first to make it work. - - The path can be either absolute, or relative to - [`$trusted_dir`](../../programmers/api-variables/variable-trusted-dir.md). If security is enabled, - then the script must be located in the `$trusted_dir` path of the - security policy. See the [Security](../../programmers/advanced-features/advanced-features-security.md) - section for details. - -The Smarty object is passed as the second argument. This way you can -reference and modify information in the Smarty object from within the -`{insert}` function. - -If no PHP script can be found Smarty is looking for a corresponding -insert plugin. - -> **Note** -> -> It is possible to have portions of the template not cached. If you -> have [caching](../../programmers/api-variables/variable-caching.md) turned on, `{insert}` tags will not be -> cached. They will run dynamically every time the page is created, even -> within cached pages. This works good for things like banners, polls, -> live weather, search results, user feedback areas, etc. - -See also [`{include}`](./language-function-include.md) |
