如何在动作中渲染另一个Controller的methodAction

时间:2014-01-29 11:44:10

标签: typo3 typoscript typo3-6.1.x typo3-flow typo3-extensions

我在typo3上使用extbase,流体系统来构建后端模块。 我有一个名为'AddBoxes'的Controller“MainController”动作,我有另一个名为BoxElementsController的Controller,还有一个名为'popupBoxAction'的动作方法。

我想在MainController-AddBoxesAction()中呈现BoxElementsController-> popupBoxAction的输出;

这样我就可以将输出分配给我的视图变量。

我如何在Typo3 6.1中实现这一点。

由于

2 个答案:

答案 0 :(得分: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,
    ));
   }
}

答案 1 :(得分:1)

尝试在操作中实例化控制器,然后在调用所需操作之前调用ControllerObject->initializeAction()