사용자 추가를 위해 플러그인의 컨트롤러 메소드를 다시 사용하려고합니다 (플러그인은 usermgmt, 구매 한 플러그인 임). 플러그인의 메서드는 필요한 모든 작업을 수행하지만 다른 페이지로 리디렉션을 수행하여 완료됩니다.일시적으로 컨트롤러 리디렉션을 사용하지 않음
일시적 컨트롤러 비활성화 할 수 있다면 나는 궁금 플러그인 코드를 수정하려는, 그리고하지 않습니다 당신은 그런 식으로 컨트롤러를 사용 안하는
class MyController extends AppController{
function signUpUser(){
//populate $this->request->data to be what plugin controller method is looking for
//temporarily disable Controller::redirect
//make call to plugin's controller method
$usersController = new UsersController();
$usersController->constructClasses();
$usersController->addUser();
//re-enable Controller::redirect
//Do my own redirect
$this->redirect('/welcome');
}
}
먼저 답/샘플 코드가 내 질문에 대답합니다. 내가 가지고있는 거의 작동하는 2 가지 솔루션 중 하나입니다. 플러그인 작성자는 확장 할 수없는 몇 가지 코딩 방법을 선택했기 때문에 (재사용 가능 구성 요소 (뚱뚱한 모델이든 구성 요소이든 상관 없음)), 결국 컨트롤러 방법을 거의 스스로 복제했습니다. 이상적은 아니지만 지금은 효과가 있습니다. –