diff options
| author | Simon Wisselink <wisskid@users.noreply.github.com> | 2021-12-03 11:59:22 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-12-03 11:59:22 +0100 |
| commit | 428a701b1871b02078a663d51a9a6555195743b3 (patch) | |
| tree | 51a76b654fb742dd9ea1ee6595baa27f113bc7ca /docs/designers/language-basic-syntax/language-syntax-quotes.md | |
| parent | baebd59bb4da9fca89da382811b38c8313949c49 (diff) | |
| download | smarty-428a701b1871b02078a663d51a9a6555195743b3.tar.gz smarty-428a701b1871b02078a663d51a9a6555195743b3.tar.bz2 smarty-428a701b1871b02078a663d51a9a6555195743b3.zip | |
Feature/add docs (#689)
* Add converted docs repo
* Set theme jekyll-theme-minimal
* Removed BC docs, added TOC
* Added TOCs, rewrote most important links in documentation. Linked README to new Github Pages site
* some link fixes
Diffstat (limited to 'docs/designers/language-basic-syntax/language-syntax-quotes.md')
| -rw-r--r-- | docs/designers/language-basic-syntax/language-syntax-quotes.md | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/docs/designers/language-basic-syntax/language-syntax-quotes.md b/docs/designers/language-basic-syntax/language-syntax-quotes.md new file mode 100644 index 00000000..6fe185c9 --- /dev/null +++ b/docs/designers/language-basic-syntax/language-syntax-quotes.md @@ -0,0 +1,61 @@ +Embedding Vars in Double Quotes {#language.syntax.quotes} +=============================== + +- Smarty will recognize [assigned](#api.assign) + [variables](#language.syntax.variables) embedded in \"double + quotes\" so long as the variable name contains only numbers, letters + and under\_scores. See [naming](&url.php-manual;language.variables) + for more detail. + +- With any other characters, for example a period(.) or + `$object->reference`, then the variable must be surrounded by + `` `backticks` ``. + +- In addition Smarty3 does allow embedded Smarty tags in double quoted + strings. This is useful if you want to include variables with + modifiers, plugin or PHP function results. + +<!-- --> + + + {func var="test $foo test"} // sees $foo + {func var="test $foo_bar test"} // sees $foo_bar + {func var="test `$foo[0]` test"} // sees $foo[0] + {func var="test `$foo[bar]` test"} // sees $foo[bar] + {func var="test $foo.bar test"} // sees $foo (not $foo.bar) + {func var="test `$foo.bar` test"} // sees $foo.bar + {func var="test `$foo.bar` test"|escape} // modifiers outside quotes! + {func var="test {$foo|escape} test"} // modifiers inside quotes! + {func var="test {time()} test"} // PHP function result + {func var="test {counter} test"} // plugin result + {func var="variable foo is {if !$foo}not {/if} defined"} // Smarty block function + + + + + {* will replace $tpl_name with value *} + {include file="subdir/$tpl_name.tpl"} + + {* does NOT replace $tpl_name *} + {include file='subdir/$tpl_name.tpl'} // vars require double quotes! + + {* must have backticks as it contains a dot "." *} + {cycle values="one,two,`$smarty.config.myval`"} + + {* must have backticks as it contains a dot "." *} + {include file="`$module.contact`.tpl"} + + {* can use variable with dot syntax *} + {include file="`$module.$view`.tpl"} + + + +> **Note** +> +> Although Smarty can handle some very complex expressions and syntax, +> it is a good rule of thumb to keep the template syntax minimal and +> focused on presentation. If you find your template syntax getting too +> complex, it may be a good idea to move the bits that do not deal +> explicitly with presentation to PHP by way of plugins or modifiers. + +See also [`escape`](#language.modifier.escape). |
