Mandrill API - 表中每个循环的把手

Fal*_*coB 5 html php mailchimp handlebars.js mandrill

我使用 Mandrill API 通过 PHP 发送我的交易邮件。

现在我遇到了问题,当我尝试遍历多个变量时,只显示最后一个。

这是我的变量 global_merge_vars

array(
        array(
            'name' => 'products',
            'content' => array(
                array(
                    "name" => "Product 1",
                    "price" => "65€"
                ),
                array(
                    "name" => "Product 2",
                    "price" => "65€"
                ),
                array(
                    "name" => "Product 3",
                    "price" => "65€"
                )
            )               
        )
    );
Run Code Online (Sandbox Code Playgroud)

我的问题与作为内容的数组的产品部分有关。

因此,如果我尝试以下操作:

{{#each products}}
  {{name}} - {{price}}<br>
{{/each}}
Run Code Online (Sandbox Code Playgroud)

我得到

Product 1 - 65€
Product 2 - 65€
Product 3 - 65€
Run Code Online (Sandbox Code Playgroud)

到现在为止还挺好...

但是如果我尝试将整个内容包装在一个表中,我总是只显示最后一个数组元素......

<table>
  {{#each products}}
    <tr>
      <td>{{name}} - {{price}}</td>
    </tr>
    {{/each}}
</table>
Run Code Online (Sandbox Code Playgroud)

结果是:

Product 3 - 65€
Run Code Online (Sandbox Code Playgroud)

其实,我想,这只是我的一个愚蠢的错误,但现在,我不知道问题是什么!

所以提前感谢大家的帮助:)

___________________更新________________________

我还发现,如果我将整个表放入循环中,它会起作用,如下所示:

{{#each products}}
  <table>
    <tr>
      <td>{{name}} - {{price}}</td>
    </tr>
  </table>
{{/each}}
Run Code Online (Sandbox Code Playgroud)

但这并不是我之前所说的真正想要的:)

Lay*_*ira 2

这对于 OP 来说可能为时已晚,但在花了几个小时试图理解这一点之后,我在 GitHub 线程上找到了解决方案。基本上,您可以将车把标签放在 HTML 注释上,如下所示:

<table>
  <!-- {{#each products}} -->
  <tr>
    <td>{{name}} - {{price}}</td>
  </tr>
  <!-- {{/each}} -->
</table>
Run Code Online (Sandbox Code Playgroud)

学分:古普雷塔瓦尔