-1

我需要一些有关 ZEND FlashMessenger 和重定向方法的帮助。这些在我的测试服务器上工作得非常好,但在实时服务器上却不行。

收到警告“警告:缺少 Zend_Controller_Action_Helper_FlashMessenger::direct() 的参数 1 in /home/ * * /public_html/library/Zend/Controller/Action/Helper/FlashMessenger.php on line 309**”。实际上,我在完成操作后使用它存储错误和成功消息,并在重定向后在另一个页面上显示错误/成功消息。

我也在使用“ $this->_redirect($url); ”重定向到另一个动作 url(通过使用 $url;$url=' http://www.abcd.com ')。这也适用于我的测试站点,但不适用于实时站点。我也在我的其他实时网站上使用过它,并且发现它们没有问题。

您的建议/帮助将不胜感激。提前致谢。

4

2 回答 2

0

我知道这是一个旧线程,但万一其他人遇到这个 -

我遇到了同样的警告,并且感到困惑,因为我没有在任何地方调用 direct()。我终于发现这与我访问 FlashMessenger 以添加消息的方式有关。

不确定这是否与该用户遇到的问题相同,因为没有发布代码,但对我来说,这段代码是导致错误的原因:

$this->_helper->FlashMessenger()->addMessage('Success!');

我发现使用这种方法会使警告消失:

$this->_helper->getHelper('FlashMessenger')->addMessage('Success!');
于 2014-12-02T19:22:58.090 回答
0

正如我从代码中看到的, Zend_Controller_Action_Helper_FlashMessenger::direct() 不用于重定向,而是用于添加消息,见下文:

/**
 * Strategy pattern: proxy to addMessage()
 *
 * @param  string $message
 * @return void
 */
public function direct($message)
{
    return $this->addMessage($message);
}

另外,您所说的“不工作”是什么意思。它有什么作用或有什么错误?

于 2013-03-25T08:08:17.193 回答