ZEND:FlashMessenger和redirect()方法在实时站点中不起作用

时间:2013-03-25 08:03:52

标签: zend-framework

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

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

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

您的建议/帮助将非常感谢。提前谢谢。

2 个答案:

答案 0 :(得分: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);
}

另外,你在现场“不工作”是什么意思。它做了什么或错误是什么?

答案 1 :(得分:0)

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

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

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

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

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

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