0

我想知道如何在树枝中插入来自 Backbone / Underscore 函数的代码?

这是我的问题:

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

我需要更改此变量:<%= id %>

这不起作用,因为 Twig Parse 在 Backbone 代码之前。所以我不知道如何给这种类型的变量?

先感谢您

4

3 回答 3

0

我想您在服务器端使用 Symfony 以及 TWIG。在这种情况下,您只需将 $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

对于更复杂的架构,我会提出三件事:

  • 简化您的架构:) 可能有问题。
  • 制作一个 Web 服务来获取给定 id 的路径(但这会使架构更加复杂)
  • 在您的 javascript 中使用 Twig 创建一个路径数组。如果文章少于 200 篇并且此页面显示的频率不高,则可能没问题。

你在服务器端使用 TWIG 吗?你使用什么技术栈?

于 2012-09-16T19:31:48.997 回答
0

使用 FOSJSRoutingBundle。它会生成所有公开的 TWIG 路线的地图,然后您可以在 Javascript 中使用它。

使路由组件全局化,或将其注入下划线模板。然后像在 TWIG 中那样简单地调用它,但使用 JS 表示法:

<a href="<%= Routing.generate('getArticle', {'id': id}) %>">Get Article <%= id %></a>
于 2020-07-09T22:51:29.637 回答