web-dev-qa-db-ja.com

ビューのグループ化されたフィールドを注文する方法はありますか?

ビューを使用してノードのリストを分類法の用語でグループ化し、これらのグループをアコーディオンヘッダーとして表示します( views accordion モジュールで表示)。

例えば:

黄:

  • node1
  • node2

緑:

  • node1
  • node3
  • node4

藤色:

  • ..

私はnode:title(asc)でノードを並べ替えていますが、title並べ替えの有無にかかわらず、term:titleに並べ替えを配置しても、アコーディオンヘッダーが希望どおりに並べられないようです。通常、これは小さな一見かもしれませんが、この場合、エンドユーザーは司書です...

カスタムモジュールルートを下って自分のブロックを作成し、ビューを経由せずに用語/ノードを表示できると思います。これは、非常に複雑なサイトのメンテナンス要求となるため、これを行わないことを強くお勧めします。

私が解決策を探す際に見つけた最高のものはこれ ディスカッション ですが、解決策は提案されておらず、そこにはmustこれを行う方法です。

私はどんな提案にも本当に感謝します。

4
autopoietic

これをどのように解決したか

私のビューから並べ替えを削除して再度追加した後、ここで最初に何が間違っていたのかわかりません。順序は問題なく、まったく複雑ではありません。

概要

ノードのビューを構成し、分類用語でグループ化し、グループ化されたフィールド(term:title)をビューのアコーディオンヘッダーとして使用している場合、アコーディオンヘッダーを分類のタイトル/重みで、子アイテムをノードタイトルで簡単に並べ替えることができます。 。これを行うには、term:title/weight(asc)の最初のソート基準とContent:title(asc)の2番目のソート基準を追加します。

私は語彙の重みを常にアルファベット順にリセットできるため、最終的には重みに基づく並べ替えを選択しました。これにより、編集者がリストに優先順位を付ける必要がある場合、編集者は少し自由に選択できます。

6
autopoietic

ソートセクションに重みを表示するために用語参照フィールドにリレーションシップを追加する必要があることを除いて、私はオートポイエティックと同様に私のものを解決しました。

4
jswitchback

この作業を行うには、ビューに関係を作成する必要があることに注意してください。関係は、分類の語彙を参照する必要があります。そうしないと、並べ替え条件のオプションとして用語の重みを取得できません。 Add relationship

次に、関係を追加したら、並べ替えオプションを作成し、作成した関係を選択してください。

Link sort criteria to relationship

3
Quinn

このグループ化とビュー内からの「もの」の分類に関する私の個人的な経験を共有したいと思います。この短い3分のデモビデオでは、Ubercart製品のカタログビューでシナリオを説明しています。これは、通常の(URLを介した)式としてフィルターされています。 http://castabo.rawdesk.be/temp/Views -grouping-taxonomy-tags.flv ご覧のとおり、最終的な結果セットでページ分割が発生しない限り、この設定は機能します。ページ付けが行われると、グループ化は各ページで個別に実行されます。例えば。私の循環器パネル分類タググループは3ページに分かれています。

重要な注意:この記録されたシナリオには、この同様のケーススタディで提案されている追加のビューの高度な関係の追加は含まれていません: http://www.wdtutorials.com/2013/08/14/drupal-8-tutorial-how -order-view-groups-taxonomy-terms-also-drupal-7#.VB1sHBaOp8G この追加の関係も試しましたが、結果は私のビデオに記録されたものとまったく同じでした。

だから、私の意見では、他の誰かがここで別の証明をしない限り、100%防水ではありません(ps。質問を避けます。)

2
rawdesk.be

term idをフィールドとして追加できるはずです。ビューからフィールドを除外し、それに基づいてグループ化します。ただし、バックエンドの用語をビューに表示する必要があります。ビューに追加する並べ替えは、子要素に影響します。

タイトルにタイトルではなく用語IDが表示されている場合は、フィールドの出力を書き換えてタイトルを含めます。

1
jsheffers