如何在整个会话中保留过滤器对象的值

时间:2016-12-01 23:06:18

标签: typo3 extbase typo3-6.2.x

我已经创建了一个类,用于过滤我的extbase扩展中所有约会的列表 - < 601px(从this教程中获得了一个带有需求对象的想法。)

$(function() {
  function rotate() {
    $('#homemaincontent div').last().fadeOut(2000, function() {
      $(this).insertBefore($('#homemaincontent div').first()).show();
    });
   }
     setInterval(function() {
     rotate();
     }, 7000);
});

到目前为止,它工作正常,但当我选择AppointmentFilter/** * 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我的控制器将再次创建一个带有默认值的新过滤器。
现在我有很多动作,所以一直传递过滤器真的很烦人 在用户更改一次而不在所有操作中传递它或者必须为其创建数据库表之后登录时,是否有一种简单的方法使其保持不变? 如果是这样 - 怎么样?

1 个答案:

答案 0 :(得分:0)

查看http://lbrmedia.net/codebase/Eintrag/extbase-backend-frontend-session-class/上的教程,其中Marcel Briefs编写了一个SessionHandler的抽象实现,它允许您将数组存储和检索为会话数据。

然后,如果为过滤器视图提供了任何参数,则将整个参数数组存储为键,或者如果没有给出,则从会话数据中恢复整个参数数组。