簡體   English   中英

TYPO3 (6.2) 和 extbase:向 QueryResult 添加項目

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM