Phalcon PhP - 没有显示的flash消息

时间:2016-08-08 19:38:38

标签: php phalcon

我在使用Phalcon PhP显示Flash消息时遇到问题。以下是我注册服务的方式:

select distinct
    isnull(users.from_value,admin.from_value)  from_, 
    isnull(users.to_value,admin.to_value)  to_,
    param_list.param_name  PARAM_NAME,
    users.user_id USER_ID
from
    (Select param_name from DATE_PARAM) param_list
left join 
    (select * from DATE_PARAM where user_Id = -1) users on users.param_name = param_list.param_name
left join 
    (select * from DATE_PARAM where user_id is null) admin on admin.param_name = param_list.param_name;

在我的控制器中,我添加了这样的flash消息

use Phalcon\Flash\Direct as Flash;
$di->set('flash', function () {
    return new Flash(array(
        'error'   => 'alert alert-danger',
        'success' => 'alert alert-success',
        'notice'  => 'alert alert-info',
        'warning' => 'alert alert-warning'
    ));
});

在我看来,我试图像这样显示(伏特):

$this->flash->success('The carrier was successfully activated');

我的布局有{{ flash.output() }} 标记,我尝试应用this post中讨论的内容,但无论如何它都无效。

你能看到我在这里失踪的东西吗?谢谢你的帮助!

1 个答案:

答案 0 :(得分:1)

您正在使用错误的Flash会话。而不是

use Phalcon\Flash\Direct as Flash;

使用

use Phalcon\Flash\Session as Flash;

documentation说:

  • Flash\Direct将直接输出传递给的消息 闪。
  • Flash\Session将临时存储邮件 会话,然后可以在下一个请求中打印消息