[英]TYPO3 6.2 extbase repository object cloning not saving records properly
[英]TYPO3 (6.2) and extbase: add items to QueryResult
我有一个事件列表,我需要的是在第 1 页上显示某个类别的前 5 个事件,然后在下一页显示所有事件(包括类别 X 的前 5 个)。
所以我试图做的是为我的结果创建 2 个 extbase 查询并尝试合并这两个查询。
传递给 TYPO3\\CMS\\Fluid\\ViewHelpers\\Widget\\PaginateViewHelper::render() 的参数 1 必须实现接口 TYPO3\\CMS\\Extbase\\Persistence\\QueryResultInterface,给出 TYPO3\\CMS\\Extbase\\Persistence\\ObjectStorage 的实例
那么如何在不将它们转换为其他内容的情况下合并 2 个 QueryResults 呢? 还是有另一种方法来实现我需要实现的目标?
我如何需要这个的一个小例子:
page 1 (the first 5 Events in Category X):
Event 4, Category X
Event 5, Category X
Event 8, Category X
Event 9, Category X
Event 10, Category X
page 2 (from now on everything is sorted by ID):
Event 1, Category A
Event 2, Category B
Event 3, Category B
Event 4, Category X
Evnet 5, Category X
page 3:
Event 6, Category A
Event 7, Category B
Event 8, Category X
Event 9, Category X
Event 10, Category X
在我的模板中使用 f:widget.paginate。
首先,当从第 1 页移动到第 2 页时,分页的概念在这里并不真正适用。用户会期望什么? 肯定不是重复的结果?
更重要的是:仅从 TYPO3 7.6 开始,除了 QueryResults 之外,PaginationViewHelper 还支持数组。 但是有一个反向移植(我在 6.2 中使用过它)。
为了解决您的问题,为什么不使用带有单独页面的单独查询,因为您的内容元素在语义上似乎具有不同的用途? 使用自定义 WidgetController 时,如果您确实必须这样做,您可以在任意条件下(例如某个页面)根据您的目的调整 QueryResult(这是它的设计目的),但我建议您不要这样做。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.