我已經創建了一個類來過濾我的extbase擴展中所有約會的列表 - AppointmentFilter
(從this教程獲得了一個需求對象的想法)。如何在整個會話中保留過濾器對象的值
/**
* action list
* @param \Vendor\Extension\Domain\Model\AppointmentFilter $appointmentFilter
* @return void
*/
public function listAction($appointmentFilter = null) {
if ($appointmentFilter === null) {
$appointmentFilter = new \Vendor\Extension\Domain\Model\AppointmentFilter();
}
$appointments = $this->appointmentRepository->findAppointmentsForList($appointmentFilter);
$this->view->assignMultiple(array(
'appointments' => $appointments,
'appointmentFilter' => $appointmentFilter
));
}
到目前爲止,它工作正常,但有一個問題,當我選擇像edit
或new
另一個動作,因爲我總是傳遞整個AppointmentFilter
對象的行動,以保持其值。如果我不這樣做,並返回到list
我的控制器將再次使用默認值創建一個新的過濾器。
現在我有很多操作,所以它真的很煩人,一直在通過該過濾器。
有沒有一種簡單的方法可以讓用戶在更改一次後保持不變,而不需要在所有操作中傳遞它或者不必爲其創建數據庫表?
如果是這樣 - 如何?
也許你可以將這些設置存儲在會話中? http://stackoverflow.com/questions/17440847/typo3-extbase-set-and-get-values-from-session –
完美,與解決方案的答案似乎工作:) –