在Smarty字符串中转义变量

时间:2015-03-27 12:46:11

标签: smarty

我想将一个变量的名称放在一个字符串中,以便稍后我可以在对该字符串进行求值之前定义该变量,使其成为变量的值。我怎么能这样做?

一些不同的尝试:

{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}

结果:未定义的索引: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}

结果:$ 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}

结果:\ bar

1 个答案:

答案 0 :(得分:1)

找到解决方案:使用单引号!

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

结果:bar