今日、クライアントから興味深いリクエストがありましたが、Drupal Views を使用してそれを解決する最善の方法が正確にはわかりません。現在、スタッフのメンバーを表す「チーム メンバー」コンテンツ タイプがあります。各スタッフ メンバー ページには、他のすべてのスタッフ メンバー ページへのリンクがあります。これまでのところ、それは問題ではありません。
彼らは、このリストが現在見ている人から始まり、「ソートされた」順序ですぐ後に続く人に進むことを望んでいます. 次に、リストの最後に到達すると、ラップアラウンドし、元に戻るまで最初に戻ります (循環リンクリストの動作と同様)。
たとえば、チーム メンバー A、B、C、D、E、F、および G がいるとします。
- チーム メンバー A を見ている場合、リストの順序は A、B、C、D、E、F、G です。
- チーム メンバー D を見ている場合、リストの順序は、D、E、F、G、A、B、C です。
- チーム メンバー G を見ている場合、リストの順序は G、A、B、C、D、E、F です。
通常のプログラミング環境で他のデータ構造を扱っていた場合、現在どこにいるかを判断し、そこからソートを開始して「循環リスト」を偽造するための何らかのアルゴリズムを思いつくことができると確信しています。ビューはもう少しトリッキーなようです。
私が考えることができる唯一の潜在的な解決策は、2 つの別々のビューを作成し、事後に結果を結合することです。
- 1 つのビューは、現在のチーム メンバー以上の並べ替え番号を持つすべてのチーム メンバーの並べ替えられたリストです。
- 現在のチーム メンバー以下の並べ替え番号を持つすべてのチーム メンバーの並べ替えられたリストである 2 番目のビュー。
ビューでこの種の並べ替えを行うより効率的な方法があるかどうか、私はただ興味がありますか?