Drupalで、タクソノミーを活かした、Tree状のカテゴリBlockを作成する方法を、備忘録も兼ねてまとめておきます。目指すのはこんな感じ↓

StructureにてViewsを選択する。当然Viewsモジュールはインストールしておくこと。ちなみにDrupalのバージョンは7である。

Add new viewをクリック。

下のようにタクソノミーtermsをblockに表示する設定にする。

FieldsのAddから、Taxonomy term: Name と、 Taxonomy term: Term IDを選択。Term IDは以下、tidと略す。

create labelのチェックを外しておく。

advancedのrelationshipsからTaxonomy term: Parent termを選択。

以下の写真のように追加されていることを確認する。

もう一度、tidをfieldに追加。

RelationshipのところにParentを指定し、表示から外すにチェック。

BlockのSettingにて、List typeをOrdered listにし、次のらんで、tidを選択し、その次にrelationshipでparentにしたtidを選択する。

すると以下のようにちょっといい感じになる。Auto PreviewをONにしておくと便利。

AdvancedのAggregateをオンにする。

こんな感じ。

relationshipにTaxonomy term: Content with termを追加。

Identifierはnodeと初期設定のままでよい。

fieldに、Content: Nidを追加。

Aggregation typeに、Countを指定。

Relationshipはnodeになっているのを確認し、PrefixとSuffixに()を指定する。これでコンテントの数がカッコ内に表示されるようになる。

BlockのSettingにて、Inline filedsでName とCountにチェックを入れる。これでこれらが横一列に表示されるようになる。

じゃじゃーんと完成!

ちなみに、コンテンツがないtermは表示したくない場合は、以下のような設定をすればよい。まず、Filter criteriaにContent; Nidを追加する。

Aggregation typeにCountを設定。

OperatorにてValueが0よりis greater thanである場合、と指定する。

Filter Criteriaに以下のように追加されたことを確認する。

以上でコンテンツがないtermは表示されなくなった。

こんな感じでいい感じのカテゴリBlockに仕上げていけば完成!