我有一个控制器,它通过一个动作调用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。
答案 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没有注意到某些缓存原因。
对不起我无法发表评论我没有足够的声誉:(