我想做一个简单的片段。我想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返回空白
答案 0 :(得分:0)
首先,声明您的smarty变量:
{assign var=somevar value="somevalue" scope="global"}
然后在您的.tpl文件中使用它,该文件将在