我刚刚遇到了一个问题:模板中的 smarty sintaxis 在 {} 之间,并且其中一个 jquery 移动组件将 {} 用于其 onw 目的,所以我从 smarty 收到错误。这个问题有解决方案吗?
<input name="mydate" id="mydate" type="date" data-role="datebox" data-options='{"mode": "calbox"}'>
我刚刚遇到了一个问题:模板中的 smarty sintaxis 在 {} 之间,并且其中一个 jquery 移动组件将 {} 用于其 onw 目的,所以我从 smarty 收到错误。这个问题有解决方案吗?
<input name="mydate" id="mydate" type="date" data-role="datebox" data-options='{"mode": "calbox"}'>
使用{literal}
标签:
<input ... data-options='{literal}{"mode": "calbox"}{/literal}'>
如果您使用 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
您也可以使用{rdelim}
and{ldelim}
作为替代。如果您想混合使用 js 和 smarty,我发现它特别有用。它们将被 smarty 替换为花括号,您仍然可以在它们之间使用 smarty 代码,而使用{literal}
. 您的示例将如下所示:
<input name="mydate" id="mydate" type="date" data-role="datebox" data-options='{ldelim}"mode": "calbox"{rdelim}'>