0

我刚刚遇到了一个问题:模板中的 smarty sintaxis 在 {} 之间,并且其中一个 jquery 移动组件将 {} 用于其 onw 目的,所以我从 smarty 收到错误。这个问题有解决方案吗?

<input name="mydate" id="mydate" type="date" data-role="datebox" data-options='{"mode": "calbox"}'>
4

3 回答 3

4

使用{literal}标签:

<input ... data-options='{literal}{"mode": "calbox"}{/literal}'>
于 2012-08-24T10:36:48.970 回答
0

如果您使用 smarty 3,只需在 {} 之间留空格:

<input name="mydate" id="mydate" type="date" data-role="datebox" data-options='{ "mode": "calbox" }'>

请参阅“(Javascript) Auto-Escapement”下的http://www.smarty.net/v3_overview

于 2012-08-24T11:52:25.720 回答
0

您也可以使用{rdelim}and{ldelim}作为替代。如果您想混合使用 js 和 smarty,我发现它特别有用。它们将被 smarty 替换为花括号,您仍然可以在它们之间使用 smarty 代码,而使用{literal}. 您的示例将如下所示:

<input name="mydate" id="mydate" type="date" data-role="datebox" data-options='{ldelim}"mode": "calbox"{rdelim}'>
于 2012-08-24T15:56:04.833 回答