aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/smarty/smarty/docs/designers/language-basic-syntax/language-syntax-quotes.md
diff options
context:
space:
mode:
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.md61
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).