标签:php handlebars-js mailchimp html 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€"
)
)
)
);
我的问题是以数组为内容的产品部分.
所以,如果我尝试以下内容:
{{#each products}}
{{name}} - {{price}}<br>
{{/each}}
我明白了
Product 1 - 65€
Product 2 - 65€
Product 3 - 65€
到现在为止还挺好…
但是,如果我尝试将整个事物包装在一个表中,我总是只显示最后一个数组元素…
<table>
{{#each products}}
<tr>
<td>{{name}} - {{price}}</td>
</tr>
{{/each}}
</table>
结果是:
Product 3 - 65€
实际上,我认为,这只是我身上的一个愚蠢的错误,但是现在,我不知道这是什么问题!
所以提前感谢大家的帮助:)
___________________UPDATE________________________
我也发现,如果我将整个表放在循环中,它会起作用,如下所示:
{{#each products}}
<table>
<tr>
<td>{{name}} - {{price}}</td>
</tr>
</table>
{{/each}}
但那不是我想要的,如前所述:)
解决方法:
从来没有使用过把手,所以请原谅我,如果我完全遗漏了什么,但我很好奇,并试图重现.
把手版本是:4.0.12.
HTML:
<script id="header" type="text/x-handlebars-template">
<table>
{{#each content}}
<tr>
<td>{{name}} - {{price}}</td>
</tr>
{{/each}}
</table>
</script>
Js(我只是在你的数组上运行json_encode()):
<script>
var products = [
{
"name": "products",
"content": [
{"name": "Product 1", "price": "65"},
{"name": "Product 2", "price": "65"},
{"name": "Product 3", "price": "65"}
]
}
];
var theTemplateScript = $("#header").html();
var theTemplate = Handlebars.compile(theTemplateScript);
$(document.body).append(theTemplate(products));
</script>
并得到了预期的输出:
Product 1 - 65
Product 2 - 65
Product 3 - 65
标签:php,handlebars-js,mailchimp,html,mandrill 来源: https://codeday.me/bug/20190710/1424891.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。