我知道它不起作用,但我如何将$ salesData和$ salesData2纳入发送电子邮件功能?
$salesData['email'] = Mage::getStoreConfig('trans_email/ident_custom3/email');
$salesData['name'] = Mage::getStoreConfig('trans_email/ident_custom3/name');
$salesData2['email'] = Mage::getStoreConfig('trans_email/ident_custom4/email');
$salesData2['name'] = Mage::getStoreConfig('trans_email/ident_custom4/name');
有没有办法做这样的事情?
$emailTemplate->send($salesData && $salesData2, $product->getStoreId(), $emailTemplateVariables);
似乎很简单但我的大脑今天没有工作。以上不起作用。
我也试过像这样的foreach:
$emails = (Mage::getStoreConfig('trans_email/ident_custom4/email')) && (Mage::getStoreConfig('trans_email/ident_custom3/email'));
foreach ($emails as $email) $emailTemplate->send($email, $product->getStoreId(), $emailTemplateVariables);
完整方法:
private function _sendStatusMail($product)
{
$emailTemplate = Mage::getModel('core/email_template');
$emailTemplate->loadDefault('elic_productnotification_tpl');
$emailTemplate->setTemplateSubject('Product has been disabled');
$salesData['email'] = Mage::getStoreConfig('trans_email/ident_custom3/email');
$salesData['name'] = Mage::getStoreConfig('trans_email/ident_custom3/name');
$salesData2['email'] = Mage::getStoreConfig('trans_email/ident_custom4/email');
$salesData2['name'] = Mage::getStoreConfig('trans_email/ident_custom4/name');
$emailTemplate->setSenderName($salesData['name']);
$emailTemplate->setSenderEmail($salesData['email']);
$emailTemplate->setSenderName($salesData2['name']);
$emailTemplate->setSenderEmail($salesData2['email']);
$emailTemplateVariables['style_number'] = $product->getElicStyle();
$emailTemplateVariables['frame_color'] = $product->getAttributeText('frame_color');
$emailTemplateVariables['size'] = $product->getAttributeText('size');
$emailTemplateVariables['elic_color'] = $product->getAttributeText('elic_color');
$emailTemplateVariables['store_name'] = Mage::getModel('core/store')->load($product->getStoreId())->getName();
$emailTemplateVariables['product_name'] = Mage::getModel('catalog/product')->load($product->getId())->getName();
$emailTemplateVariables['product_sku'] = $product->getSku();
$emailTemplateVariables['dates'] = date("F jS Y h:i:sA", strtotime('-7 hours'));
$email = (Mage::getStoreConfig('trans_email/ident_custom3/email'));
foreach ($emails as $email) $emailTemplate->send($email, $product->getStoreId(), $emailTemplateVariables);
}
答案 0 :(得分:0)
您无法将两个数组与logical AND &&
合并。
相反,请改用两个循环:
$emailsA = Mage::getStoreConfig('trans_email/ident_custom4/email');
$emailsB = Mage::getStoreConfig('trans_email/ident_custom3/email');
foreach ($emailsA as $email) $emailTemplate->send($email, $product->getStoreId(), $emailTemplateVariables);
foreach ($emailsB as $email) $emailTemplate->send($email, $product->getStoreId(), $emailTemplateVariables);
自行决定将重复的代码提取到函数中。
答案 1 :(得分:0)
这样的事情可能有所帮助。
function mail_walk($name,$body,$subject,$email) {
$emailTemplate = Mage::getModel('core/email');
$emailTemplate->setFromName($name);
$emailTemplate->setBody($body);
$emailTemplate->setSubject($subject);
$emailTemplate->setType('html');
$emailTemplate->setToEmail($email);
$emailTemplate->send();
}
$salesData[0]['name'] = Mage::getStoreConfig('trans_email/ident_custom3/name');
$salesData[0]['email'] = Mage::getStoreConfig('trans_email/ident_custom3/email');
$salesData[1]['name'] = Mage::getStoreConfig('trans_email/ident_custom4/name');
$salesData[1]['email'] = Mage::getStoreConfig('trans_email/ident_custom4/email');
foreach ($salesData as $data) {
mail_walk($data['name'],'email body here...','Subject in here...',$data['email']);
}