首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CakeEmail:无渲染闪存消息

CakeEmail:无渲染闪存消息
EN

Stack Overflow用户
提问于 2012-09-24 17:57:39
回答 4查看 427关注 0票数 1

在CakePhp 2.0中,使用CakeEmail新组件似乎没有输出闪存消息:在我的控制器中,我放了:

代码语言:javascript
复制
$email = new CakeEmail(array('log'=>true));
$email->transport('Debug');

在我看来

代码语言:javascript
复制
 echo $this->Session->flash('email');

但没有打印出任何内容。该功能(flash)是否已在2.0中删除?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-09-24 21:06:19

当然,在cakephp2.0中有闪存功能,详情请查看此处:http://book.cakephp.org/2.0/en/core-libraries/components/sessions.html

如果你想让你的flash消息出现在你的视图中,你必须首先在你的控制器操作中设置它。

代码语言:javascript
复制
//controller
$this->Session->setFlash('email');

//view
echo $this->Session->flash();

//以上将输出。

代码语言:javascript
复制
<div id="flashMessage" class="message">
'email'.
</div>
票数 1
EN

Stack Overflow用户

发布于 2012-09-24 18:05:51

蛋糕、电子邮件库、组件或传输类都不会接触会话,也不会编写任何这样的flash内容。据我所知,他们从未这样做过。但是它们将电子邮件内容作为数组返回给DebugTransport。

因此,您可能希望获取返回的数组并将其记入日志:

代码语言:javascript
复制
$res = $this->Email->send();
$this->Session->setFlash($res ? 'Email sent' : 'Email not sent');

或者诸如此类的东西。

票数 2
EN

Stack Overflow用户

发布于 2012-09-24 22:08:08

在Cake 2.x中,调试传输不会在会话中设置电子邮件内容。只需检查返回值$contents = $email->send();。$contents将包含报头和消息,因此可以根据需要使用它们。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12562661

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档