diff options
Diffstat (limited to 'vendor/smarty/smarty/docs/designers/language-basic-syntax/language-syntax-quotes.md')
-rw-r--r-- | vendor/smarty/smarty/docs/designers/language-basic-syntax/language-syntax-quotes.md | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/vendor/smarty/smarty/docs/designers/language-basic-syntax/language-syntax-quotes.md b/vendor/smarty/smarty/docs/designers/language-basic-syntax/language-syntax-quotes.md new file mode 100644 index 000000000..6fe185c97 --- /dev/null +++ b/vendor/smarty/smarty/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). |