对其他操作的调用不能与 TYPO3 Extbase 一起正常工作

The call to other actions does not work correctly with TYPO3 Extbase

我有一个控制器,它通过一个操作调用 SocialProfile 来获取 Twitter、Facebook 或 Google+ 的配置文件并保存 SocialProfile 对象,每一个。此操作的结尾使用最终用户添加类别组(不是 TYPO3 类别)的 objective 调用编辑操作,问题是第二个操作无法正常工作。

我一直在使用此指令在 createAction

结束时调用 editAction
$this->redirect('edit', null, null, array('profileid' => "{$profileid}"),11);

现在editAction

public function editAction( $socialProfile = NULL)
    {
        $arguments = $this->request->getArguments();
        var_dump($arguments);
        $groups = Enum\GruposContenidos::categoryGroupList();
        $this->view->assign('categoryGroups', $groups);
        $this->view->assign('socialProfile', $socialProfile);
    }

下一个错误

Required argument "socialProfile" is not set for Vendor\Extension\Controller\SocialProfileController->edit. exception code:1298012500

我在 URL 中发现 editAction 方法运行但不显示 var_dump。我按照 TYPO3 中的错误代码 (https://wiki.typo3.org/Exception/Flow/1298012500) 进行了尝试,但我尝试了很多更改但不起作用。

调用此类操作的正确方法是什么,或者是否可以使用类似 redirect 发送参数的方法?

editAction 在通过 Fluid 从操作列表中调用并更改类别值时效果很好。

它正在 TYPO3 7.6 和 PHP 5.6 中开发。

您尝试过 $this->redirect('edit', null, null, array('socialProfile' => $socialProfile),11); 并传递整个 SocialProfile 对象而不是其 ID 吗?一般需要将两个名字匹配起来。

您可以 var_dump 在 initializeEditAction 中。

请尝试:

$this->redirect('edit', null, null, array('profileid' => $profileid),11);

你能给我看一下 editAction 中的注释并卸载并安装一次扩展吗?注释和方法参数是硬缓存的。该操作不应触发异常,如果您像您一样允许参数可能为空,那么我担心 extbase 出于某些缓存原因没有注意到这一点。

抱歉我不能发表评论我没有足够的声誉:(