代码之家  ›  专栏  ›  技术社区  ›  rahim asgari

如何从ZF中的任何操作中调用多个控制器操作?

  •  0
  • rahim asgari  · 技术社区  · 15 年前

    public function postDispatch(){    
        $actionstack = Zend_Controller_Action_HelperBroker::getStaticHelper('actionStack');
        $actionstack->direct('myaction', 'mycontroller');
    }
    

    3 回复  |  直到 10 年前
        1
  •  1
  •   Keyne Viana    15 年前

    您可以创建一个插件,例如:

    class Plugin_Sidebar extends Zend_Controller_Plugin_Abstract {
    
        public function postDispatch(Zend_Controller_Request_Abstract $request)
        {
            if($request->getModuleName() == 'admin')
            {
                return;
            }
            $viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer');
            if (null === $viewRenderer->view) {
                $viewRenderer->initView();
            }
            $view = $viewRenderer->view;
    
            $yt = new Zend_Gdata_YouTube();
            $view->videos = $yt->getUserUploads('MysteryGuitarMan');
    
        }
    }
    

    所以把你想要的动作放到这个插件里,这些aciotns终究会被执行。

        2
  •  1
  •   racetrack    15 年前

    你可以用 ActionStack 动作助手,或者简单地将该方法的逻辑放在 postDispatch()

        3
  •  0
  •   zwippie    15 年前