4

サーバー側のテンプレート作成に Smarty を使用しており、クライアント側のテンプレート作成に Handlebars.js を使用したいのですが、Handlebars は Smarty と同じ中括弧を使用するため、Smarty はエラーを引き起こします。Smarty のリテラル タグで Handlebars テンプレートを記述できますが、今回は Handlebars テンプレートで Smarty を使用できません。

例: cleanurl の smarty ブロック関数を作成します。javascriptのcleanurl関数を書きたくないので、SmartyとHandlebars.jsの両方を使いたいです。

<div class="model-item" id="model-{{id}}">
    <a href="{$mainurl}{cu}?com=model&act=view&id={{id}}{/cu}"> {{name}} </a>
</div>
4

3 に答える 3

6

リテラル タグを使用することもできます...各中括弧をエスケープするよりもはるかに優れています。

{literal}
<script id="entry-template" type="text/x-handlebars-template">
  {{any_var}}
</script>
{/literal}
于 2012-08-01T19:14:02.927 に答える
1

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

エスケープについて説明しているドキュメントのこのセクション。「{ldelim}、{rdelim}」はあなたが探しているものかもしれないと思います...コードが少し読みにくくなりますが...

于 2012-06-06T12:35:08.047 に答える