2012-02-16 3 views
0

사용자가 로그인하지 않고 사이트의 특정 섹션에 액세스 할 수 있는지 확인하는 플러그인 (dispatchLoopStartup)이 있습니다. 제한 구역 그들은 다음과 같이 로그인 페이지로 전달받을은 :플러그인의 리라 우트 요청 (모듈, 컨트롤러, 액션 이름) 얻기

$request->setControllerName('login'); 
$request->setActionName('cms'); 

나는 현재의 액션을 기반으로 데이터베이스에서 데이터를 검색하는 다른 플러그인 (preDispatch)를 가지고있다. 요청이 다른 작업으로 전달되면이 플러그인은 요청이 전달되기 전과 같이 요청을 읽습니다.

어떻게 제 2의 플러그인에서 업데이트 된 요청을받을 수 있습니까?

+0

필자는 상황을 에뮬레이트하고'dispatchLoopStartup()'플러그인에서 컨트롤러와 액션 이름을 변경했으며 컨트롤러에 액세스 할 때 action name이 두 번째'preDispatch()'플러그인 일 때 업데이트 된 컨트롤러 이름과 액션을 표시했습니다 URL에있는 URL이 아닌 어떤 ZF 버전을 실행하고 있습니까? – drew010

+0

안녕하세요. 도움을 주셔서 감사합니다. 1.11.0dev, PHP 5.3.6을 실행 중입니다. – DonutReply

+0

두 플러그인 모두에 대한 코드를 게시 할 수 있습니까? – drew010

답변

0

내 부분에 어리석은 오류가 발생했습니다. I가 아닌 $request->getParams() 통해 모듈/제어기/액션에 액세스 하였다

echo $request->getModuleName().'/' 
    .$request->getControllerName().'/' 
    .$request->getActionName().'/'; 

의 getParams()는 I PARAMS가 혼란되는 이유이다 순방향 전 복귀.