Typo3 查询筛选器对象仅工作一次-extbase 6.2

Typo3 查询筛选器对象仅工作一次-extbase 6.2,typo3,extbase,typo3-6.2.x,Typo3,Extbase,Typo3 6.2.x,在我的extbase存储库中,我构建了一个类似于本教程所述的查询函数:它使用了一个过滤器对象,$demand 所以我也为过滤器创建了一个类,以便处理流体中的对象 它可以工作,但只能工作一次-我可以更改某些内容,单击“过滤器”即可工作。 但是,如果我再次更改某些内容并单击“过滤器”,它将跳回到以前的值,并且没有任何更改 我觉得这可能与缓存有关,但我不确定。 当我调试filter对象时,它不会在第二次单击“filter”后显示我的调试代码,因为当我注意到没有任何更改时,它就是这样做的 我可以做些什么

在我的extbase存储库中,我构建了一个类似于本教程所述的查询函数:它使用了一个过滤器对象,
$demand

所以我也为过滤器创建了一个类,以便处理流体中的对象

它可以工作,但只能工作一次-我可以更改某些内容,单击“过滤器”即可工作。
但是,如果我再次更改某些内容并单击“过滤器”,它将跳回到以前的值,并且没有任何更改

我觉得这可能与缓存有关,但我不确定。
当我调试filter对象时,它不会在第二次单击“filter”后显示我的调试代码,因为当我注意到没有任何更改时,它就是这样做的

我可以做些什么来更改我的过滤器设置,次数可以达到我想要的次数?

我的筛选器类:

class AppointmentFilter extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity {

    /**
     * future
     *
     * @var int
     */
    protected $future = 1;

    /**
     * booked
     *
     * @var int
     */
    protected $booked = 2;

    /**
     * student
     *
     * @var \vendor\extension\Domain\Model\Student
     */
    protected $student = NULL;

    /**
     * expertise
     *
     * @var \vendor\extension\Domain\Model\Expertise
     */
    protected $expertise = NULL;

    function getFuture() {
        return $this->future;
    }

    function getBooked() {
        return $this->booked;
    }

    function getStudent() {
        return $this->student;
    }

    function getExpertise() {
        return $this->expertise;
    }

    function setFuture($future) {
        $this->future = $future;
    }

    function setBooked($booked = NULL) {
        $this->booked = $booked;
    }

    function setStudent(\vendor\extension\Domain\Model\Student $student = NULL) {
        $this->student = $student;
    }

    function setExpertise(\vendor\extension\Domain\Model\Expertise $expertise = NULL) {
        $this->expertise = $expertise;
    }

}
以及相应的流体形式:

<f:form action="list" name="appointmentFilter" 
            class="filter-form" 
            object="{appointmentFilter}" 
            arguments="{students:students,expertises:expertises}">  
        Termine:
        <label>
            <f:form.radio property="future" value="1"/> Bevorstehende
            <f:form.radio property="future" value="0"/> Vergangene
        </label>
        <label>
            <f:form.radio property="booked" value="2"/> Alle
            <f:form.radio property="booked" value="1"/> Gebuchte
            <f:form.radio property="booked" value="0"/> Freie
        </label>
        <label>
            Studenten:
            <f:form.select property="student" options="{students}" optionLabelField="fullName" prependOptionLabel="Alle Studenten" class="filterSelect" />                 
        </label>
        <label>
            Expertise:
            <f:form.select property="expertise" options="{expertises}" optionLabelField="name" prependOptionLabel="Alle" class="filterSelect" />
        </label>

        <f:form.submit value="Filter anwenden" class="rm-with-js" />
    </f:form> 

终点站:
贝沃斯特亨德
维根烯
所有
格布希特
弗雷
学生:
专业知识:

根据您的描述,这是一个缓存问题。通过将动作添加到localconf.php中插件配置的第二个数组中,可以将动作设置为不可缓存。例如:

\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin(
    $_EXTKEY,
    'Pi1',
    array(
        'Controller' => 'list, cachedAction',
    ),
    // this is the array for noncachable actions
    array(
        'Controller' => 'list',
    )
);

根据您的描述,这是一个缓存问题。通过将动作添加到localconf.php中插件配置的第二个数组中,可以将动作设置为不可缓存。例如:

\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin(
    $_EXTKEY,
    'Pi1',
    array(
        'Controller' => 'list, cachedAction',
    ),
    // this is the array for noncachable actions
    array(
        'Controller' => 'list',
    )
);

我认为这不是问题所在,因为我已经这样做了——但当我检查时,发现扩展生成器覆盖了我的设置,所以我必须重新设置它,它才起作用。localconf.php中有一行:
##EXTENSION BUILDER DEFAULTS END TOKEN-这一行之前的所有内容都会被EXTENSION BUILDER的默认值覆盖
,但我不知道我是否可以简单地在这一行之后再次编写相同的内容而不会引起问题。我认为这不是问题,因为我已经这样做了-但是什么时候我检查了一下,结果发现扩展生成器已经覆盖了我的设置,所以我必须重新设置它,它才起作用。localconf.php中有一行:
##EXTENSION BUILDER DEFAULTS END TOKEN-这一行之前的所有内容都会被EXTENSION BUILDER的默认值覆盖
,但我不知道是否可以简单地在这一行之后再次编写相同的内容而不会引起问题。