将聪明的变量导入JavaScript

时间:2019-02-20 13:00:05

标签: php smarty

我想做一个简单的片段。我想console.log一个聪明的变量。我尝试过:

{php}
$GLOBALS['smarty']->assign("somevar", 'somevalue');
{/php}

在我的JavaScript中

{literal}
<script>
{/literal}{$smarty.lbrace}{literal} 
var new_var = '{/literal}{$somevar|escape:javascript}{literal}';
{/literal}{$smarty.rbrace}{literal}
console.log(new_var)
</script>
{/literal}

它给了我空白页,控制台日志中什么也没有。 在日志中,我得到

  

Smarty错误:模板中的语法错误   “文件:/usr/share/nginx/html/page.tpl”   在第367行上的“ {/literal}{$smarty.lbrace}{literal}” $ smarty.lbrace是   未定义

我也尝试过

{literal}
<script>
var new_var = '{$somevar}';
console.log(new_var)
</script>
{/literal}

它输出{$somevar}

{literal}
<script>
var new_var = '{/literal}{$somevar}{literal}';
console.log(new_var)
</script>
{/literal}

console.log返回空白

1 个答案:

答案 0 :(得分:0)

首先,声明您的smarty变量:

{assign var=somevar value="somevalue" scope="global"}

然后在您的.tpl文件中使用它,该文件将在