2017-07-08 61 views
0

我有一个电子邮件模板,在用户订购了一些项目后,试图发送给用户。发送电子邮件使用内嵌的CSS与HTML作为电子邮件teplate它保存为.html。问题是我如何对用户购买的所有物品装载到每个表并发送在html电子邮件模板中创建一个foreach表php

<tbody style="-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;margin: 0;font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif;font-size: 14px;"> 
    {{ item }} 
</tbody> 

这是我发送邮件PHP之前将它传递给电子邮件HTML模板文件

$mail = new PHPMailer; 

$mail->From = "[email protected]"; 
$mail->FromName = "test"; 
$mail->addAddress($email); //Recipient name is optional 
$mail->addReplyTo("[email protected]", "Reply"); 
$mail->isHTML(true); 
$variables = array(); 
$variables['name'] = 'john'; 
$template = file_get_contents("eorder.html"); 
foreach($data as $row){ 
$eprodname = $this->get_name_from_id('product_name','product','product_id',$row['id']); 
$variables['item'] ='<tr style="-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;margin: 0;font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif;font-size: 14px;page-break-inside: avoid;"> 
<td style="-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;margin: 0;font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif;font-size: 14px;vertical-align: top;padding: 8px;line-height: 1.428571429;border-top: 1px solid #ddd;background-color: #fff!important;">1</td> 
<td style="-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;margin: 0;font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif;font-size: 14px;vertical-align: top;padding: 8px;line-height: 1.428571429;border-top: 1px solid #ddd;background-color: #fff!important;">'. $eprodname .'</td> 
<td style="-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;margin: 0;font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif;font-size: 14px;vertical-align: top;padding: 8px;line-height: 1.428571429;border-top: 1px solid #ddd;background-color: #fff!important;">'. $row['quantity'] .'</td> 
<td style="-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;margin: 0;font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif;font-size: 14px;vertical-align: top;padding: 8px;line-height: 1.428571429;border-top: 1px solid #ddd;background-color: #fff!important;">'. $row['price'] .'</td> 
</tr>'; 

} 
foreach($variables as $key => $value) 
{ 
    $template = str_replace('{{ '.$key.' }}', $value, $template); 
} 
$mail->Subject = "Order Details"; 
$mail->Body = $template; 
$mail->Send(); 

我的问题:我有这个代码,如果用户的订单不止一个产品,这个代码仅加载最后一个产品放在桌子上

回答

0

您正在覆盖您的密钥$variables['item']。您需要将其更改为阵列

foreach($data as $row){ 
$eprodname = $this->get_name_from_id('product_name','product','product_id',$row['id']); 
$variables['item'][] ='<tr style="-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;margin: 0;font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif;font-size: 14px;page-break-inside: avoid;"> 
<td style="-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;margin: 0;font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif;font-size: 14px;vertical-align: top;padding: 8px;line-height: 1.428571429;border-top: 1px solid #ddd;background-color: #fff!important;">1</td> 
<td style="-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;margin: 0;font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif;font-size: 14px;vertical-align: top;padding: 8px;line-height: 1.428571429;border-top: 1px solid #ddd;background-color: #fff!important;">'. $eprodname .'</td> 
<td style="-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;margin: 0;font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif;font-size: 14px;vertical-align: top;padding: 8px;line-height: 1.428571429;border-top: 1px solid #ddd;background-color: #fff!important;">'. $row['quantity'] .'</td> 
<td style="-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;margin: 0;font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif;font-size: 14px;vertical-align: top;padding: 8px;line-height: 1.428571429;border-top: 1px solid #ddd;background-color: #fff!important;">'. $row['price'] .'</td> 
</tr>'; 

} 
+0

它输出数组作为值不数组项目购买阵列 – nsikak

+0

不得不内爆转换为字符串,哈哈忘了那个 – nsikak

0

您与$value更换{{ item }}!这是一个“关键”,你想要替换你的阵列! 你应该结合你的物品,然后用'物品'替换一次!

+0

请详细说明谢谢 – nsikak

+0

您的模板中有1个{{item}}!当你迭代你的数组并用'{{'。$ key''替换。 }}',它只适用于第一项!和其他项目不能取代任何东西! –

相关问题