我在TYPO3 6.2中用Extbase做了一個前端擴展,而在我的控制器中重定向時,我放棄了對我的對象所做的更改。 我不知道這是否是有意的,爲什麼?爲什麼重定向我的對象?
在這裏,我看到我在var_dump
中對appointment
所做的更改。
/**
*
* @param Domain\Model\Appointment $appointment
* @return void
*/
public function bookAction(Domain\Model\Appointment $appointment) {
if ($appointment->getBooked()) {
\TYPO3\CMS\Extbase\Utility\DebuggerUtility::var_dump($appointment);
$this->redirect('update', null, null, array('appointment'=>$appointment));
}
}
然後我看到原來的對象,我在var_dump
到appointment
所做的更改。
似乎改變的約會的合格將其重置回原來的狀態......?
/**
* action update
*
* @param Domain\Model\Appointment $appointment
* @return void
*/
public function updateAction(Domain\Model\Appointment $appointment) {
\TYPO3\CMS\Extbase\Utility\DebuggerUtility::var_dump($appointment);
}
似乎從你的代碼,您只需調試你的價值,並通過同一個對象中的重定向,你必須先存儲更改到你的對象, 一樣,如果你想在你的對象改變任何東西,那麼你必須使用特定屬性的settermenthod。 –
但是更改已經在對象中,我沒有調試值,我正在調試整個對象,並且我可以看到它具有在調用bookAction的表單中輸入的正確值。難道TYPO3只是在重定向時從存儲庫重新加載對象,而不是將實際對象傳遞給重定向函數? –