2015-03-27 9 views
0

Я хочу поместить имя переменной внутри строки, чтобы позже определить переменную, прежде чем оценивать строку, чтобы стать значением переменной. Как я могу это сделать?Исключение переменных в строки Smarty

Несколько различных попыток:

{assign var="test" value="$foo"} 
{assign var="foo" value="bar"} 
{eval var=$test} 

Результат: Undefined индекс: Foo

{assign var="test" value="{$foo}"} 
{assign var="foo" value="bar"} 
{eval var=$test} 

Результат: Undefined индекс: Foo

{assign var="test" value="\{$foo}"} 
{assign var="foo" value="bar"} 
{eval var=$test} 

Результат: Undefined индекс: Foo

{assign var="test" value="\$foo"} 
{assign var="foo" value="bar"} 
{eval var=$test} 

Результат: $ Foo

{assign var="test" value="{\$foo}"} 
{assign var="foo" value="bar"} 
{eval var=$test} 

Результат: Ошибка синтаксиса

{assign var="test" value="\{\$foo}"} 
{assign var="foo" value="bar"} 
{eval var=$test} 

Результат: \ бар

ответ

1

найдено решение: Используя одиночные кавычки!

{assign var="test" value='{$foo}'} 
{assign var="foo" value="bar"} 
{eval var=$test} 

Результат: бар

Смежные вопросы