logo

パレット - カラフルに🎨

Palette — ビジュアルページビルダー、デザインの専門知識は不要です。

ライブデモ パレットをダウンロード

Scroll
26/08/2019, by mikhail

Views モジュールは Drupal のテーブルからデータを出力するだけでなく、この行を計算して結果をグループ化する方法も知っています。この機能は集約(aggregation)と呼ばれます。

デフォルトで、Drupal には Taxonomy Tags の辞書があります。最も人気のあるタグのブロックを作成し、各タグの末尾に、このタグを持つサイトの素材がいくつあるかを表示しましょう。次のようなリストが得られます:

Drupal 9 (5)

Drupal 8 (3)

PHP (2)

まず、Articles を作成し、それらにタグを紐付ける必要があります。

/node/add/article

drupal views

少数の記事を作成したら、本題に取りかかれます。

/admin/structure/views/add

Views ブロックを追加し、Taxonomy と Tags を選択します:

Drupal views

次に、Views で集約を有効にする必要があります:

Drupal aggregation

これで、フィールドに集約の追加設定ができました:

drupal view

次に、RELATIONSHIPS で用語を持つ Content を追加します:

Drupal

タグが選択されているコンテンツだけをカウントするために、Require this relationship を選択します:

drupal 8

次に、Term Taxonomy (Name) の 2 つのフィールドが必要です。最初のものは隠します:

drupal 8

2 番目のフィールドには、集約のタイプ Count を設定します:

aggregation

Drupal

これで、ビューのプレビューを更新すると、各 term taxonomy の使用回数のカウントがすでに見られます:

Drupal 8

あとは、各数字の前にタグ名を付けるだけです。そのために、2 番目のフィールドを使い、その中で最初の隠したフィールドを表示し、括弧内に 2 番目のフィールドの値を表示します。そのために、Overwrite Results 設定を使います:

Drupal 8

REPLACEMENT PATTERNS ドロップダウンリストで、このフィールドを上書きする際にどのフィールドを使えるかが見られます。

{{name}} ({{name_1}})

数字が括弧内に入るように、2 番目のフィールドを丸括弧で書きます。波括弧は Twig から取られています。後で扱いますが、とりあえず、これらの値を {{}} で使うと、必要なフィールドの値に置き換えられることを知っておけば十分です。

その結果、これらのフィールドができるはずです:

Drupal 8

次のように見えるはずです:

Drupal views