Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typo3 <;f:widget.paginate>;显示控制器提供的更多项目_Typo3_Extbase - Fatal编程技术网

Typo3 <;f:widget.paginate>;显示控制器提供的更多项目

Typo3 <;f:widget.paginate>;显示控制器提供的更多项目,typo3,extbase,Typo3,Extbase,在我自己的扩展中,我想限制显示的项目。从flexform中,我得到的设定值为5 EventController.php: $showMaxItems = (int)$this->settings['event']['maxItems']; 并找到了maxItems: $events = $this->eventRepository->findLimited($showMaxItems); 并指定给视图: $this->view->assign('events',

在我自己的扩展中,我想限制显示的项目。从flexform中,我得到的设定值为5 EventController.php

$showMaxItems = (int)$this->settings['event']['maxItems'];
并找到了maxItems:

$events = $this->eventRepository->findLimited($showMaxItems);
并指定给视图:

$this->view->assign('events', $events);
EventRepository.php

public function findLimited($limit) {
    $query = $this->createQuery();
    return $query->setLimit($limit)
        ->execute();
}
List.html显示maxItems

<f:for each="{events}" as="event">
</f:for>
<f:widget.paginate objects="{events}" as="paginatedEvents">
    <f:for each="{paginatedEvents}" as="event">
    </f:for>
</f:widget.paginate>

这是我的bug还是extbase的bug?我找到了,但不适合我的问题。

您不需要限制存储库调用,只需让所有对象独立于分页,例如
$this->eventRepository->findAll()

在paginate View Helper中,您需要配置参数,而View Helper会为您执行以下限制:

<f:widget.paginate objects="{events}" as="paginatedEvents" configuration="{itemsPerPage: '{settings.event.maxItems}'}">
  <f:for each="{paginatedEvents}">
    ...
  </f:for>
</f:widget.paginate>

...

请参阅:

这是因为分页小部件覆盖了您通过setLimit()设置的限制


如果要对结果集使用自定义限制或偏移量进行分页,则必须将QueryResult转换为数组,并对其进行分页。

我要限制plugin flexform中的maxItems,而不是itemsPerPage。示例:maxItems=5;itemsPerPage=10;不需要分页。示例2:maxItems=(未设置=全部);itemsPerPage=10;需要分页您能否提供一个如何在服务器端分页的示例?例如,如果代表有1000条记录。。。在前端,我想要100条记录,当第二个选项卡上的“分页”加载下100条记录时。。。等等
<f:widget.paginate objects="{events}" as="paginatedEvents" configuration="{itemsPerPage: '{settings.event.maxItems}'}">
  <f:for each="{paginatedEvents}">
    ...
  </f:for>
</f:widget.paginate>