Php 对其他操作的调用在TYPO3 Extbase中无法正常工作
我有一个控制器,它调用SocialProfile,只需一个操作即可获取Twitter、Facebook或Google+的个人资料,并保存SocialProfile对象,每个对象。此操作的结尾调用编辑操作,目标是最终用户添加类别组(不是TYPO3类别),问题是第二个操作无法正常工作 在Php 对其他操作的调用在TYPO3 Extbase中无法正常工作,php,typo3,extbase,typo3-7.6.x,Php,Typo3,Extbase,Typo3 7.6.x,我有一个控制器,它调用SocialProfile,只需一个操作即可获取Twitter、Facebook或Google+的个人资料,并保存SocialProfile对象,每个对象。此操作的结尾调用编辑操作,目标是最终用户添加类别组(不是TYPO3类别),问题是第二个操作无法正常工作 在createAction $this->redirect('edit', null, null, array('profileid' => "{$profileid}"),11); public fun
createAction
$this->redirect('edit', null, null, array('profileid' => "{$profileid}"),11);
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);
}
现在,editAction
$this->redirect('edit', null, null, array('profileid' => "{$profileid}"),11);
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);
}
接下来就是错误
未为Vendor\Extension\Controller\SocialProfileController->edit设置必需参数“socialProfile”。异常代码:129801250
我在URL中识别出,editAction
方法运行,但没有显示var\u dump
。我遵循TYPO3()中的错误代码,并尝试了许多更改,但都不起作用
调用此类操作的正确方法是什么,或者是否可以使用类似于重定向的方法发送参数
当通过流体从操作列表调用时,editAction
可以很好地工作,并允许更改类别值
它正在TYPO3 7.6和PHP5.6中开发。您是否尝试过$this->redirect('edit',null,null,array('socialProfile'=>$socialProfile),11)
并传递整个SocialProfile对象而不是其ID?通常,您需要匹配这两个名称。您是否尝试过$this->redirect('edit',null,null,array('socialProfile'=>$socialProfile),11)
并传递整个SocialProfile对象而不是其ID?通常,您需要匹配这两个名称。您可以在InitializedItAction中使用var\u dump
请尝试:
$this->redirect('edit', null, null, array('profileid' => $profileid),11);
你能给我看一下editAction和unistall中的注释并一次性安装扩展吗。注释和方法参数是硬缓存的。如果您像您一样允许参数可以为null,那么该操作不应该触发异常,因此出于某种缓存原因,extbase可能没有注意到这一点
很抱歉,我无法评论我没有足够的声誉:(您可以在InitializedItAction中转储变量
请尝试:
$this->redirect('edit', null, null, array('profileid' => $profileid),11);
你能给我看一下editAction和unistall中的注释并一次性安装扩展吗?注释和methodes参数都是硬缓存的。如果你像你一样允许该参数为null,那么该操作不应该引发异常,因此我担心extbase出于某种缓存原因没有注意到这一点
对不起,我不能发表评论,我没有足够的声誉:(我在尝试传递SocialProfile对象时遇到另一个问题无法序列化域对象…它既不是设置了标识属性的实体,也不是值对象。异常代码:1260881688
问题是我没有UID。我将在存储库中尝试使用persistAll
。关于名称,它不是n必须匹配这两个名称,因为结构是“key”=>value”,在某些情况下,我更喜欢使用不同的名称,例如,将流体与Extbase分开。也许您可以尝试$this->forward()
,这样您就不必保存$socialProfile
,而editAction()则可以
仍然可以使用它。对于名称,我的意思是键应该与操作中的参数名称匹配,比如array('socialProfile'=>$socialProfile)
与公共函数editAction($socialProfile=NULL)
,还是我错了?当我尝试传递SocialProfile对象时,我遇到了另一个问题无法序列化域对象…它既不是设置了标识属性的实体,也不是值对象。异常代码:1260881688
问题是我没有UID。我将在存储库中尝试使用persistAll
。关于名称,不必匹配这两个名称,因为结构是“key”=>value”,在某些情况下,我更喜欢使用不同的名称,例如用于分隔流体而不是Extbase。也许您可以尝试$this->forward()
,这样您就不需要保留$socialProfile
,而编辑操作()
仍然可以使用它。对于名称,我的意思是键应该与操作中的参数名称匹配,比如array('socialProfile'=>$socialProfile)
与公共函数editAction($socialProfile=NULL)
,还是我错了?我暂时删除了删除此约束的注释,但是我让Extension Builder为editAction
生成了注释。你们两个给我使用UID的想法,我会试试。我暂时删除了删除此约束的注释,但我让Extension Builder为生成了注释ode>editAction
。你们两个给我一个使用UID的想法,我会试试。