首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何同时使用Handlebars.js和Smarty?

如何同时使用Handlebars.js和Smarty?
EN

Stack Overflow用户
提问于 2012-06-06 20:00:21
回答 3查看 2.9K关注 0票数 4

我正在使用Smarty进行服务器端模板,我想使用Handlebars.js进行客户端模板,但是Smarty出错了,因为把手使用了与Smarty相同的花括号。我可以在Smarty的文字标签中编写Handlebar模板,但这次我不能在Handlebar模板中使用Smarty。

例如:我为cleanurl编写了一个聪明的块函数。我不想为javascript.So编写一个清理use函数,我想同时使用Smarty和Handlebars.js。

代码语言:javascript
复制
<div class="model-item" id="model-{{id}}">
    <a href="{$mainurl}{cu}?com=model&act=view&id={{id}}{/cu}"> {{name}} </a>
</div>
EN

回答 3

Stack Overflow用户

发布于 2012-08-02 03:14:03

您还可以更好地使用文字tags...much而不是转义每个大括号。

代码语言:javascript
复制
{literal}
<script id="entry-template" type="text/x-handlebars-template">
  {{any_var}}
</script>
{/literal}
票数 6
EN

Stack Overflow用户

发布于 2012-06-06 20:35:08

http://www.smarty.net/docs/en/language.escaping.tpl

文档的这一部分讨论转义。我认为"{ldelim},{rdelim}“可能就是你所看到的for...although,它使得代码的可读性降低了一点……

票数 1
EN

Stack Overflow用户

发布于 2018-11-11 11:33:04

我知道这是一个老问题,但现在这是一个受支持的智能特性。(我在寻找同样的问题时偶然发现了你的问题,所以我想回答这个问题,以防其他人也有同样的问题)

如果添加以下内容:

$smarty->setLiterals(array('{{{','}}}','{{','}}'));

Smarty现在将忽略胡须和车把的所有双倍和三倍分隔。注意:在启用之前,必须检查现有的smarty模板是否有任何合法的smarty使用{{或{,并在设置后重新编写代码,这些现在是文字,它们将不再用作smarty语句。

https://github.com/smarty-php/smarty/issues/508#issuecomment-437640751

此版本为3.1.32版

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10913803

复制
相关文章

相似问题

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