Ответ 1
Насколько я знаю, используя обычный механизм шаблонов в Mandrill, единственным поддерживаемым типом для атрибута content
является string
, поэтому нет способа предоставить структуру.
В последнее время (13 января 2015 г.) Mandrill объявила о поддержке шаблонов рулей, а вместе с тем и возможность включения массивов в content
.
http://blog.mandrill.com/handlebars-for-templates-and-dynamic-content.html
С помощью этого нового языка шаблонов можно не только получить доступ к дополнительным свойствам, сколько вам нужно, но даже выполнить цикл внутри массивов и даже вложенные циклы. (см. этот комментарий в блоге)
Это пример, извлеченный из сообщения в блоге для выполнения цикла:
Переменная слияния или содержимое шаблона:
{
"name": "products",
"content": [
{
"img": "http://kbcdn.mandrill.com/nesting-penguin.png",
"qty": 2,
"sku": "PENG001",
"name": "Penguin",
"description": "Solid wood, hand-painted penguin nesting doll with 5 different sizes included. Limited Edition.",
"price": "12.99",
"ordPrice": "25.98"
},
{
"img": "http://kbcdn.mandrill.com/nesting-bear.png",
"qty": 3,
"sku": "BBEAR001",
"name": "Brown bear",
"description": "Solid wood, hand-painted brown bear nesting doll. Coordinates with our entire Bear collection. Includes 6 nested sizes.",
"price": "12.99",
"ordPrice": "38.97"
}
]
}
И вот как это использовать в шаблоне:
{{#each products}}
<tr class="item">
<td valign="top" class="textContent">
<img src="{{img}}" width="50" height="75" class="itemImage" />
<h4 class="itemName">{{name}}</h4>
<span class="contentSecondary">Qty: {{qty}} x ${{price}}/each</span><br />
<span class="contentSecondary sku"><em>{{sku}}</em></span><br />
<span class="contentSecondary itemDescription">{{description}}</span>
</td>
<td valign="top" class="textContent alignRight priceWidth">
${{ordPrice}}
</td>
</tr>
{{/each}}
В вашем случае вы можете сделать:
{{#each ORDERITEMS}}
<tr>
<td>{{NUMPRODUCTS}}*</td>
<td>{{PRODUCTNAME}}</td>
<td>{{PRODUCTPRICE}}</td>
</tr>
{{/each}}