0

I would like to know how was it possible to insert code from Backbone / Underscore function in twig?

Here is my problem:

{{path('getArticle', {"id": <%= id %>})}}

I need to change this variable : <%= id %>

This does not work because Twig Parse before the Backbone code. So I do not know how to give a variable of this type?

Thank you in advance

4

3 に答える 3

0

サーバー側でTWIGと一緒にSymfonyを使用していると思います。その場合、$id 変数を TWIG テンプレートに送信するだけです。

public function callMyTwigAction($deskId)
{
    $id=whatIwant();
    return array('id' => $id);
}

そして、TWIGファイルを呼び出すだけです:

{{path('getArticle', {"id": id})}}

クライアント テンプレートとサーバー テンプレートが一致していないようです。Underscore Template (またはMustacheを使用)のようなクライアント テンプレートは、生の Web サービス データ (JSON または XML) を HTML に変換し、(おそらく) Javascript で記述されています。

サーバー側テンプレートは通常、ビジネス オブジェクト (Java/PHP クラス) を HTML に変換し、TWIG や Velocity などのエンジンを使用します。

于 2012-09-16T09:00:18.460 に答える
0

より複雑なアーキテクチャでは、次の 3 つのことを提案します。

  • アーキテクチャを簡素化してください:) 何かが間違っている可能性があります。
  • 特定のIDのパスを取得するWebサービスを作成します(ただし、これによりアーキテクチャがさらに複雑になります)
  • JavaScript で Twig を使用してパスの配列を作成します。記事が 200 件未満で、このページがあまり表示されない場合は、これで問題ないかもしれません。

サーバー側で TWIG を使用しますか? どのテクノロジースタックを使用していますか?

于 2012-09-16T19:31:48.997 に答える