使用TYPO3 Extbase时,对其他操作的调用无法正常工作

时间:2017-07-28 00:23:48

标签: php typo3 extbase typo3-7.6.x

我有一个控制器,它通过一个动作调用SocialProfile获取Twitter,Facebook或Google+的个人资料并保存SocialProfile对象。此操作的结束调用编辑操作,目标是最终用户添加类别组(不是TYPO3类别),问题是第二个操作无法正常工作。

我一直在editAction

结束时使用此说明进行电话createAction
$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);
    }

错误是下一步

  

必需参数" socialProfile"未设置为Vendor \ Extension \ Controller \ SocialProfileController->编辑。异常代码:1298012500

我已在网址中确认editAction方法已运行但未显示var_dump。我按照TYPO3(https://wiki.typo3.org/Exception/Flow/1298012500)中的错误代码进行了操作,但我尝试了很多更改,但无效。

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

从动作列表中通过Fluid调用editAction时,<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.v4.widget.NestedScrollView android:layout_width="match_parent" android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior"> <!-- Your scrolling content --> </android.support.v4.widget.NestedScrollView> <android.support.design.widget.AppBarLayout android:layout_height="wrap_content" android:layout_width="match_parent"> <android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" xmlns:local="http://schemas.android.com/apk/res-auto" android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:minHeight="?attr/actionBarSize" android:background="?attr/colorPrimary" local:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" local:popupTheme="@style/ThemeOverlay.AppCompat.Light" /> </android.support.design.widget.AppBarLayout> </android.support.design.widget.CoordinatorLayout> 效果很好,可以更改类别值。

正在开发TYPO3 7.6和PHP 5.6。

2 个答案:

答案 0 :(得分:1)

您是否尝试过$this->redirect('edit', null, null, array('socialProfile' => $socialProfile),11);并传递整个SocialProfile对象而不是其ID?通常,您需要匹配这两个名称。

答案 1 :(得分:1)

你可以在initializeEditAction中使用var_dump。

请尝试:

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

你能告诉我editAction和unistall的注释,并安装一次扩展。注释和方法参数都是高速缓存的。如果你像你一样允许该参数可以为null,那么该行为就会触发异常,因此我们担心extbase diden没有注意到某些缓存原因。

对不起我无法发表评论我没有足够的声誉:(