ビューまたはブロックを埋め込む 2 つのコンテンツ タイプ (Drupal 7.20 環境) があります。検索結果でこれらのコンテンツ タイプを許可すると、それらのコンテンツ タイプが結果セットに表示されるたびに、結果ページが横向きになります。ページャーは、結果ページごとに異なる合計ページ数を表示するか、[次へ] をクリックすると完全に消えます。 (!)、ページごとに表示される結果が 10 件未満 (まだページャーがあります...)、など。
これらのコンテンツ タイプを (カスタム検索を介して) 許可しない場合、ページネーションなどに問題は見られません。
私が気付いたのは、検索結果ページが構築されるときに実際のビュー/ブロックが実行されるということです。これは単に search_index テーブルで見つかったヒットの問題ではありません。
この問題に対処する方法を知っている人はいますか?
(私はスタックオーバーフローを検索し、Drupal.org の検索とカスタム検索の問題を検索しました。喜びはありません。)
前もって感謝します、リー
[編集: いくつかのタイプミスを修正...] [3/17/13 編集: 問題は、検索結果セットに含まれるビューまたはブロックのページャーが原因であることが判明しました。ビューが結果セットに含まれていても、ページャーがない場合は問題ありません。したがって、私の解決策は、hook_views_query_alter() で (リクエスト URI を見て) 検索結果ページにいることを検出し、設定することです。
$view->items_per_page = 0;
ビューのページャーを効果的に取り除きます。