首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >javascript中的Smarty变量

javascript中的Smarty变量
EN

Stack Overflow用户
提问于 2014-07-15 23:28:57
回答 2查看 11.9K关注 0票数 2

我真的是从Smarty开始,我不理解这个事实:

如果我将下一段代码放入模板index.tpl中

代码语言:javascript
运行
复制
<script type="text/javascript">
  function toAlert() {
    alert('{$text}' );
  }
</script>

我可以访问函数toAlert并显示Smarty变量{{$text}}的内容,但是如果我将此代码放入js文件lije javascript.js中,并尝试通过将链接放入de template来访问它:

我也不能访问这个函数。

谁能告诉我原因,或者帮助我在哪里可以找到这个特定的信息?谢谢你!!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-07-19 00:33:13

Smarty2需要"{“和"}”字符的转义,你可以使用{ldelim}和{redlim}单独转义它们,或者用{/literal}{/literal}将整个文本块换行。当有嵌入的smarty标签时,使用{ldelim}和{rdelim}通常更干净,所以示例:

代码语言:javascript
运行
复制
<script type="text/javascript">
  function toAlert() {ldelim}
    alert('{$text}' );
  {redlim}
</script>

Smarty 3可以方便地忽略由空格括起来的"{“和"}”字符,因此您的javascript示例将按原样工作。

票数 4
EN

Stack Overflow用户

发布于 2014-07-16 04:48:49

您应该将此代码放入TPL文件中,以使其正常工作。只有TPL文件被处理为Smarty文件,并且您可以使用Smarty变量。

您的代码在index.tpl文件中应该可以开箱即用,但如果不是这样,请尝试:

代码语言:javascript
运行
复制
<script type="text/javascript">
{literal}
  function toAlert() {
    alert('{/literal}{$text}{literal}' );
  }
{/literal}
</script>
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24762237

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档