我使用联系表格7创建查询表格。
在网站上,用户可以将任意数量的项目添加到购物篮中。我有一个页面,其中包含收集个人详细信息的表单,我也在该页面上输出购物篮数据(购物篮数据使用本地存储存储)。
我想通过电子邮件将查询发送给管理员,其中包括个人表单数据以及购物篮中每个项目的详细信息。
目前我能想到的唯一方法是在表单中使用隐藏字段,将篮子项的HTML添加到此字段(使用JS):
// add data to input
var enquiryInput = $('textarea.order-input');
var enquiryInputVal = '';
// loop through each item
$.each(wishlist, function(i, item) {
$.each(item, function(key, value) {
if( key === 'ID' ) {
// do nothing
} else if( key === 'product' ) {
// remove hyphens and uppercase each word
key = key.replace(/-/g, ' ');
key = key.replace(/\w\S*/g, function(txt){
return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
});
// add to string
enquiryInputVal += '<b>'+ key +': '+ value +'</b><br/>';
} else {
// remove hyphens and uppercase each word
key = key.replace(/-/g, ' ');
key = key.replace(/\w\S*/g, function(txt){
return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
});
// add to string
enquiryInputVal += key +': '+ value +'<br/>';
}
});
enquiryInputVal += '<br/><br/>';
});
// set value of hidden input to show wishlist in enquiry form
enquiryInput.val(enquiryInputVal);
...然后使用传统的CF7邮件标签[order]
输出它。
数据显示,但它没有为该字段呈现HTML(出于明显的安全原因,我猜)
例如(这是我收件箱中CF7 HTML电子邮件中的内容):
<b>Product: Product Title</b><br/>Quantity: 34<br/>Comments: Suspendisse turpis felis, pretium sit amet mollis et, sollicitudin vel eros. <br/><br/><br/><b>Product: Product 2 Title</b><br/>Quantity: 164<br/>Comments: Ut egestas consequat faucibus. <br/><br/><br/>
有没有人知道如何将附加HTML与表单数据一起传递,并且能够在CF7的“邮件”选项卡中访问它?我查看了文档,但我看不到一个似乎可行的钩子。