2014-12-02 2 views
0

다른보기에서 호출 된보기가 있습니다. 고객 편집보기는 고객 목록, 고객 검색, 주문 내에서 호출 할 수 있습니다. 이보기 중 일부는 데이터를 추가, 편집 또는 삭제할 수있는 양식이있는 간단한보기입니다. 사용자가 양식을 작성한 후에는 호출 양식 또는 다른 양식으로 리디렉션되어야합니다. 일부 내비게이션이 같이 가야로 작동하지 않을 것입니다 $this->referer()를 사용CakePHP :보기 및 컨트롤러에 대한 유연한 리디렉션

: -> 편집 순서 -

목록 순서> 순서를 삭제 -> 목록 순서.

모든 호출마다 리다이렉션을 정의하는 것이 좋을 것이므로 쿼리 문자열을 사용하고 모든 링크 또는 리디렉션에 ?redirectTarget=<wherever>을 추가하려고했습니다. 이를 위해 나는 AppController.php

이 내가 내 컨트롤러에 getRedirectTarget()을 사용할 수 있지만 내가 링크를 구축 뷰 내에서 해당 기능에 액세스 할 수있는 형태의 작동
public function getRedirectTarget() { 
    if ($this->request->query('redirectTarget')) { 
     return $this->request->query('redirectTarget'); 
    } else { 
     return array(
      'controller' => 'pages', 
      'action' => 'home' 
     ); 
    } 
} 

의 컨트롤러 기능

를했습니다 . (leya에서 나는 그것을하지 않는다. Can you call a controller function from a view in CakePHP?) 위의 예제에서 주문 목록의 정보를 편집보기로 전달하여 링크를 만들고 양식 작업을위한 기본 컨트롤러에 전달해야한다.

이제는 내 마음에 다른 aproaches가 있지만 그 중 아무 것도없이 나는 정말로 행복합니다. 나는 갈 길을 더럽 히지 않는다.

  • 아직 CakePhp에 뭔가 있습니까?
  • $ this-> requestAction을 (를) 사용하고 있습니까?
  • 폼과 버튼에 대한 모든 것을 변경하고 컨트롤러에서 모든 리디렉션을 수행 하시겠습니까?
  • 모든보기에 대해 변수를 만드는 방법이 있습니까?

이것은 필자에게 공통 조건을 요구하는 것으로 보이고 나는 CakePHP에 꽤 익숙하다. 나는 당신의 조언을 구하고있다.

답변

0

requestAction을 사용하는 것이 가장 좋습니다. 관점에서

, 당신은 나를 위해 일한

$redirect = $this->requestAction('/mycontroller/requestAction'); 
$url = $this->Html->link('Continue', $redirect)); 
+0

감사 같은 것을 가질 수 있습니다. 매우 작은 앱이므로 성능에 대해 아무 것도 말할 수 없습니다. – Axx

관련 문제