首先,将数组传递给Tools::nl2br,该数组应仅用于字符串。
你有两个选择来做你想做的事。在Mail::Send之前格式化消息(但根据主题不能有不同的方面),或者将数组传递给smarty并在tpl中执行。
选项1:
public function sendMail($mailMessage) {
$id_lang = (int) $this->context->language->id;
$iso_lang = Language::getIsoById($id_lang);
if (!is_dir(dirname(__FILE__) . '/mails/' . Tools::strtolower($iso_lang))) {
$id_lang = Language::getIdByIso('pl');
}
$message = "";
foreach($mailMessage as $m){
$message .= "pid {$m['pid']} price {$m['price']}".PHP_EOL;
}
Mail::Send(
$id_lang,
'notification',
Mail::l('Notification from Hurto module', (int) $this->context->language->id),
array('{message}' => Tools::nl2br($message)),
Configuration::get('PS_SHOP_EMAIL'),
null,
null,
null,
null,
null,
_PS_MODULE_DIR_ . $this->name . '/mails/'
);
}
选项2:
public function sendMail($mailMessage) {
$id_lang = (int) $this->context->language->id;
$iso_lang = Language::getIsoById($id_lang);
if (!is_dir(dirname(__FILE__) . '/mails/' . Tools::strtolower($iso_lang))) {
$id_lang = Language::getIdByIso('pl');
}
Mail::Send(
$id_lang,
'notification',
Mail::l('Notification from Hurto module', (int) $this->context->language->id),
array('{message}' => $mailMessage),
Configuration::get('PS_SHOP_EMAIL'),
null,
null,
null,
null,
null,
_PS_MODULE_DIR_ . $this->name . '/mails/'
);
}
在第三方物流中:
{foreach from=$message item=m}
{$m['pid']} - {$m['price']} <br />
{/foreach}