将php变量传递给smarty文字标签

时间:2014-03-15 16:42:19

标签: javascript php smarty

我正在尝试将php变量传递给smarty literal标签中的javascript。

到目前为止,我试过

{literal}
<script type="text/javascript">
var a = {/literal}{msg}{literal};
  window.onload = function () {
    alert(a);
}
</script>
{/literal}

哪个不起作用。知道我怎么能让它发挥作用?

2 个答案:

答案 0 :(得分:1)

只要你需要它就可以打破它。 我有下一个适合我的情况:

{literal}<script>var myArr = [];{/literal}
{foreach from=$myArr item=v}
    {if $v.title eq 'My Title'}
        {literal}var myArr.push({/literal}{$v.id}{literal});{/literal}
    {/if}
{/foreach}
{literal}</script>{/literal}

答案 1 :(得分:0)

缺少引号且缺少$符号。此外,您不需要在脚本之前打开{literal},就在脚本中的第一个'{'之前,所以事情看起来更清晰:

<script type="text/javascript">
var a = '{$msg}';
{literal}
  window.onload = function () {
    alert(a);
}
</script>
{/literal}