2013-02-23 70 views
0

我很难在smarty中设置一个默认var值来包含花括号,我试图做以下没有运气。smarty var默认值,转义大括号

<input type="hidden" id="orders" value="{$orders|default:'{}'}"> 

也试过ldelim和rdelim没有运气。

<input type="hidden" id="orders" value="{$orders|default:'{ldelim}{rdelim}'}"> 

是有,即时通讯失踪或将我必须想出它的解决方案工作的一些基本语法的Smarty?

回答

0

为了逃避括号中的Smarty,与任何空白字符包围他们,就像这样:

<input type="hidden" id="orders" value="{$orders|default:' { } '}"> 

您也可以逃避CSS或JavaScript部分与{文字}标签:

<input type="hidden" id="orders" value="{$orders|default:'{literal}{}{/literal}'}"> 
+0

没有工作 – seesoe 2013-02-23 23:08:43

+0

两个大括号必须有空格(空格或换行符)。 – silkfire 2013-02-23 23:12:32

+0

这两种方法都不起作用,我也试过之前的文字方法 – seesoe 2013-02-23 23:17:46

0

使用双引号

<input type="hidden" id="orders" value="{$orders|default:"{ldelim}{rdelim}"}">

+0

语法错误:无法识别的标记: – seesoe 2013-02-27 20:41:05

0

你不能在标签内标签。在这里添加默认值的唯一方法是使用条件:

<input type="hidden" id="orders" value="{if $orders}{$order}{else}{ldelim}{rdelim}{/if}">