聪明地分配给javascript外部

rur*_*uru 2 javascript smarty

在index.tpl中

在javas.js

var currentTS = "{literal}{$userid}{/literal}";
alert(currentTS);
Run Code Online (Sandbox Code Playgroud)

但是会有警报{literal}{$userid}{/literal}而不是$userid.任何的想法?

Neo*_*Neo 5

Smarty只能在php下工作,你不能在.js中运行它,除非你在apache configruations中将.js添加到php扩展中.

最重要的是,在我看来,您正在尝试从index.php访问{$ userid}变量.这永远不会发生!除非你像karvonen解释的那样包括文件服务器端.并且你的{literal}标签是不必要的,当你要使用时你开始文字{,}这不是聪明的标签,但对于javascript,css等...而且你唯一一次看到他们围绕smarty标签是karvonen解释的另一种方式

这是我的建议:在包含java.js文件之前的index.tpl中执行以下操作:

<!--index.tpl-->
<script type='text/javascript'>UserID = '{$userid}';</script>
<script type='text/javascript' src='pathto/java.js'></script>



/*java.js*/
var currentTS = UserID;
alert(currentTS);
Run Code Online (Sandbox Code Playgroud)