2016-03-30 12 views
0

私はイベントのリストを持っています。必要なものは1ページの特定のカテゴリの最初の5つのイベントを表示してから、すべてのイベントを表示します(カテゴリXの最初の5つ)を次のページに表示します。TYPO3(6.2)とextbase:QueryResultに項目を追加

だから、私は何をしようとしたことは私の結果のための2つのextbaseクエリを作成し、それらの2をマージしようとしている。しかし内のtoArrayまたはObjectStorageと私は改ページテンプレートに次のエラーのような何かを得る:

引数1ウィジェット\ TYPO3 \ CMSに渡された\流体\ ViewHelpers \ PaginateViewHelper ::レンダリング()CMS \ Extbase \永続\ QueryResultInterface、そう

を与えTYPO3 \ CMS \ Extbase \永続\ ObjectStorageのインスタンス\インタフェースTYPO3を実装する必要があります2つのQueryResultsを他のものに変換せずにマージできますか?あるいは、私が達成する必要のあるものを達成する別の方法がありますか?

私はこの必要があるかの小さな例:Fを使用して

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 

:私のテンプレートでwidget.paginateを。

答えて

0

最初にページ1のページ2に移動するとき、ページネーションという概念は実際には適用されません。ユーザーは何を期待していますか?確かに反復の結果ではない?

その他の点:TYPO3 7.6の時点でのみ、PaginationViewHelperはQueryResultsに加えて配列をサポートします。しかし、バックポートが浮かんでいます(6.2と一緒に使っています)。

問題を解決するには、コンテンツ要素が意味的に異なる目的を持っているように、別々のページで別々のクエリを使用してみませんか?カスタムWidgetControllerを使用している場合、QueryResultは、特定のページのような任意の条件で目的に合わせて調整することができます(実際に行う必要がある場合)。

+0

残念ながらそれは顧客が望むものであり、それを変更する権限はありません。 – Chi

+0

を参照してください: '\ TYPO3 \ CMS \ Fluid \ ViewHelpers \ Widget \ Controller \ PaginateController'。これを拡張し、顧客が望むものであれば 'indexAction'ロジックを上書きすることができます。これは言っている、私は顧客が混乱UXを望んでいるとは思わない? – sven

関連する問題