我正在尝试在用户注册后添加一些闪存消息
$sharedManager->attach('ZfcUser\Service\User', 'register.post', function($e) use($serviceManager) {
$user = $e->getParam('user');
$mail = new Mail\ActivateAccount($serviceManager, $user);
$mail->send($user->getEmail());
$flash = $serviceManager->get('ControllerPluginManager')->get('flashMessenger');
$flash->addSuccessMessage('Check your mailbox, please.');
});
但是,在我被重定向到登录页面后,我没有看到任何消息。有人知道原因吗?
有显示消息的视图助手
namespace Application\View\Helper;
use Zend\View\Helper\AbstractHelper;
use Zend\View\Helper\FlashMessenger;
class ShowMessages extends AbstractHelper
{
public function __invoke()
{
$messenger = new FlashMessenger();
$error_messages = $messenger->getErrorMessages();
$messages = $messenger->getSuccessMessages();
$result = '';
if (count($error_messages)) {
foreach ($error_messages as $message) {
$result .= '<p class="alert alert-danger">' . $message . '</p>';
}
}
if (count($messages)) {
foreach ($messages as $message) {
$result .= '<p class="alert alert-success">' . $message . '</p>';
}
}
return $result;
}
}
在其他页面上闪烁消息工作正常。
谢谢!