Внедренные переменные в двойных кавычках
Smarty распознает
присвоенные
переменные,
если они встречаются в строках, заключенных в двойные кавычки,
если имена переменных состоят из цифр, букв, знака подчёркивания и
квадратных скобок.
В случае, если переменная содержит другие символы
(точки, ссыки на объекты и т.д.), переменную необходимо заключить
в обратные кавычки.
В данном случае вы не можете использовать
модификаторы,
их следует применять вне кавычек.
Пример 3-5. Синтаксис внедренных переменных Пример синтаксиса:
{func var="test $foo test"} <-- ищет $foo
{func var="test $foo_bar test"} <-- ищет $foo_bar
{func var="test $foo[0] test"} <-- ищет $foo[0]
{func var="test $foo[bar] test"} <-- ищет $foo[bar]
{func var="test $foo.bar test"} <-- ищет $foo (не $foo.bar)
{func var="test `$foo.bar` test"} <-- ищет $foo.bar
{func var="test `$foo.bar` test"|escape} <-- модификатор вне кавычек!
Практические примеры:
{include file="subdir/$tpl_name.tpl"} <-- заменит $tpl_name на ее значение
{cycle values="one,two,`$smarty.config.myval`"} <-- надо заключать в обратные кавычки |
|
См. также escape.