Tridion Brokerデータベースクエリ(APIを使用)から返された結果のページングを制御するコードを記述しています。Tridionページネーション - 結果の総数を取得
SDL Tridion 2011 SP1を使用しており、選択したページのコンポーネントのtcmIdを取得するためにPagingFilterを使用できます。
ただし、ページネーションコントロールを書き出しているうちに、結果の総数を知る必要があります(いくつのページがあるかを判断する必要があります)。これを行うためのより効率的なメカニズムは、 'すべての'結果のために別々のクエリを実行し、返された文字列配列の.Lengthを実行するだけですか? (明らかにこのクエリを1回だけ実行し、ユーザーがページ間をクリックするとその値を保持します)。
すべての結果が得られたら、返された情報を処理できるときにPagingFilterを使用するのはなぜでしょうか「すべて」のクエリで事前に
多くのおかげで、 ジョナサン
注:おそらく返さいずれかのタイプの2000年結果の最大があります。
以前のコンテンツ配信返されたオブジェクトはキャッシュされていましたが、(正確に一致する)ブローカクエリはキャッシュされています(Tridion 2011以降)--_多分、特定のフィルタを使用する理由でしょうか?私はJavaScriptを使ったページネーションを見たことがありますが、あなたの2つのクエリアプローチよりも良いアイデアはありません。 –
大きな質問Jon、 "COUNT(....)"スタイルのクエリを実行できるように見えません。 – Neil
ありがとうNeil。はい、私たちはもっと効率的なCOUNT(...)メカニズムがあるかもしれないと考えました。 PagingFilterアプローチは、いくつのページがあるかを知っているか、空の配列を処理するページ数を知る必要がない場合には非常に便利ですが、これはまれだと思います。 –