2014-01-29 6 views
2

나는 유체 기반 시스템을 typo3에 사용하여 백엔드 모듈을 구축하고 있습니다. 나는 컨트롤러 "MainController"액션을 'AddBoxes'라고 부르며 BoxElementsController라고하는 다른 컨트롤러를 가지고 있으며 'popupBoxAction'이라는 동작 메서드가 있습니다.액션 내에서 다른 컨트롤러의 methodAction을 렌더링하는 방법

MainController-AddBoxesAction()에서 BoxElementsController-> popupBoxAction의 출력을 렌더링하려고합니다.

그래서 뷰 ​​변수에 출력을 할당 할 수 있습니다.

어떻게 이것을 Typo3 6.1에서 수행 할 수 있습니까?

감사

+0

에서 원하는대로 데이터 또는 출력을 가져올 수 있습니다. 보기의 일부를 다시 사용하거나 여러 템플리트에서 동일한 작업을 수행하는 여러 가지 방법이 있습니다. 부분 또는 ViewHelper는 아마도 당신이 원하는 것입니다. – Daniel

답변

1

시도는 다음 원하는 작업을 호출하기 전에 ControllerObject->initializeAction()를 호출하면 행동에 컨트롤러 인스턴스화합니다.

2

또한 당신은 몇 가지 코드가 정확히 당신이 달성하려고하는 것을 이해하기 위해보고 도움이 될 것입니다 당신이 BoxElementsRepository

class MainController extends \TYPO3\CMS\Extbase\Mvc\Controller\ActionController { 

    protected $boxElementsRepository; 

    public function injectBoxElementsRepository(BoxElementsRepository $boxElementsRepository) { 
     $this->boxElementsRepository = $boxElementsRepository; 
    } 

    public function AddBoxesAction(){ 
     $popupBoxActionOutput = $this->boxElementsRepository->popupBox(); 
     $addBoxesAction = $this->mainRepository->findAll(); 


     $this->view->assignMultiple(array(
      'popupBoxActionOutput' => $popupBoxActionOutput, 
      'addBoxesAction' => $addBoxesAction, 
    )); 
    } 
}