0

プラグイン(ブートストラップに登録)からヘルパーのビューを呼び出そうとしています。どのコントローラーからでも問題なくアクセスできますが、プラグインからはアクセスできません。以下は私のコードです。どんな助けでも大歓迎です。ありがとうございました。ミゲル

class Plugins_security extends Zend_Controller_Plugin_Abstract
{
    public function preDispatch (Zend_Controller_Request_Abstract $request)
    {
        $auth = Zend_Auth::getInstance();
        $moduleName = $request->getModuleName();
        if ($request->getModuleName() != "auth") 
        {
            $auth = Zend_Auth::getInstance();
            if (! $auth->hasIdentity()) 
            {
                $redirector = Zend_Controller_Action_HelperBroker::getStaticHelper(
                'redirector');
                $flashMessenger = Zend_Controller_Action_HelperBroker::getStaticHelper('FlashMessages');
                $flashMessenger->flashMessenger (array('message' => 'Sessao expirada', 'status' => 'error'));
                $redirector->gotoUrl('/auth/login/')->redirectAndExit();
            }
        }
    }
} 

次のエラーが表示されます。致命的なエラー: 例外 'Zend_Loader_PluginLoader_Exception' がキャッチされず、メッセージ 'Plugin by name 'FlashMessages' がレジストリに見つかりませんでした。使用したパス: Zend_Controller_Action_Helper_: Zend/Controller/Action/Helper/' in /usr/local/zend/share/ZendFramework/library/Zend/Loader/PluginLoader.php:412 スタック トレース: #0 /usr/local/zend/share /ZendFramework/library/Zend/Controller/Action/HelperBroker.php(366):

4

1 に答える 1

1

あなたは変わらなければならない

Zend_Controller_Action_HelperBroker::getStaticHelper('FlashMessages');

Zend_Controller_Action_HelperBroker::getStaticHelper('FlashMessenger');

例:

$flashMessenger = Zend_Controller_Action_HelperBroker::getStaticHelper('FlashMessenger'); $flashMessenger->addMessage(array('error' => 'Session expired'));

これがお役に立てば幸いです。未検証

于 2013-05-18T04:22:10.650 に答える