我有一個表單驗證後,如果發生任何錯誤頁面將重定向到編輯本身與一個錯誤消息。如何通過以前的數據和錯誤消息通過重定向()typo3?傳遞數據在重定向() - Typo3
$this->redirect($action_name,$controllername, $extensionName, array('data',$data));
是不是?
我的動作名稱是'edit'
但它重定向到'list'
。請幫我解決這個問題。
我有一個表單驗證後,如果發生任何錯誤頁面將重定向到編輯本身與一個錯誤消息。如何通過以前的數據和錯誤消息通過重定向()typo3?傳遞數據在重定向() - Typo3
$this->redirect($action_name,$controllername, $extensionName, array('data',$data));
是不是?
我的動作名稱是'edit'
但它重定向到'list'
。請幫我解決這個問題。
傳遞給重定向目標的參數必須作爲關聯數組給出。關鍵是參數名稱(如在動作方法標題中,沒有$
),該值是參數值。看起來是這樣的:
$this->redirect(
$action_name,
$controllername,
$extensionName,
[
'data' => $data
]
);
究竟是如何$data
在URL編碼取決於其類型。持久對象被編碼爲ID,標量被編碼爲簡單的字符串。他們如何到達另一個行動取決於那個行爲typehints和@param
註釋。
要重定向到相同的控制器或分機,您可以通過$controllerName
和$extensionName
作爲null
。
你也可以傳遞對象本身而不僅僅是Uid。 – sven
+1 @Jost和一個你可以傳遞的參數是pageUid,你的FE插件配置在這裏:$ this-> redirect($ action_name,$ controllername,$ extensionName,array('data'=>'arguments'),$ pageUid) ; –
參數以包含鍵值對的數組形式傳遞,其中鍵是參數名稱。這假設您的目標操作具有名爲「數據」的參數。 $this->redirect($action_name,$controllername, $extensionName, array('data' =>$data));
喬斯特的答案是足夠你的問題,但如果你想知道更多:
只是爲了確保,你是怎麼設置$ ACTION_NAME到 '編輯'?問題可能是操作名稱無法解析,然後調用默認操作。 listAction是您的默認操作嗎? – sven