我正在使用zend。我有以下代码,
....
$cust = 'test@test.com';
$list.='Also Sent Mail to following members';
foreach($m_list as $value)
{
$mail_to_manu = new Zend_Mail('utf-8');
$mail_to_manu->clearFrom();
$mail_to_manu->setBodyHtml('Text')
->setFrom('noreply@test.com', 'test admin')
->addTo($value['email'])
->setSubject('Test');
$mail_to_manu->send();
$list.=$value['manufacturers_email'].'<br/>';
}
$this->_helper->flashMessenger->addMessage('Mail send to '. $cust. ' Successfully'.$list);
$this->_redirector->gotoUrl('/index');
.....
我收到任何break.my消息的消息,
Mail send to test@test.com Successfully Also Sent Mail to following members some1@example.com some2@example.com...
我需要传达的信息,
Mail send to test@test.com Successfully
Also Sent Mail to following members,
some1@example.com
some2@example.com
...
所以我需要一个接一个的休息。有可能在Flash信使中做到这一点。如果是,请善意建议。
答案 0 :(得分:0)
您是否在视图脚本中使用strip_tags
或类似内容?这可能导致<br />
标记被剥离。
也可以通过为每个地址调用flashMessenger->addMessage()
一次来添加多条消息:
$cust = 'test@test.com';
$this->_helper->flashMessenger->addMessage('Mail send to '. $cust. ' Successfully');
if(count($m_list)>0 )
$this->_helper->flashMessenger->addMessage('Also Sent Mail to following members');
foreach($m_list as $value)
{
$mail_to_manu = new Zend_Mail('utf-8');
$mail_to_manu->clearFrom();
$mail_to_manu->setBodyHtml('Text')
->setFrom('noreply@test.com', 'test admin')
->addTo($value['email'])
->setSubject('Test');
$mail_to_manu->send();
$this->_helper->flashMessenger->addMessage($value['manufacturers_email']);
}
$this->_redirector->gotoUrl('/index');
答案 1 :(得分:0)
之所以将它们聚集在一起,是因为你在没有额外标记的情况下将echo
全部放在一个循环中。
如下:
foreach ($this->messages as $message)
{
echo '<p class="message">' . $this->escape($message) . '</p>';
}
但实际上,在视图中处理flashMessenger的方法要好得多。如您所知,Zend FlashMessenger是一个动作助手。但是也有一个很好的视图助手可以帮助您很好地输出您的消息。关于它的最好的事情是,您可以传递array('warning' => 'This is a warning')
,数组键(警告)将用作<p>
标记的类。您可以找到information about this helper on Carlton Gibson's blog和additional explanations in this SO question。
$customer
,而不仅仅是$cust
。没有人说缩短变量名是编写精益代码的一种方法;)。缩短变量名称是不好的(代码味道),因为它使代码对其他人和将来自己的可读性降低。 $mailToManufacturer
之类的套管,而不是使用下划线。这是一个普遍的协议(标准),因此也有利于可读性和对代码的理解。