みーのぺーじ

みーが趣味でやっているPCやソフトウェアについて.Unity, Python, Processingなどのプログラミングや,脱獄, hackintoshなど

トップ / 記事一覧 / カテゴリ

DrupalでTree状のかっこいいカテゴリBlockを作成する

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

f:id:atsuhiro-me:20151103003742p:plain

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

f:id:atsuhiro-me:20151103003745p:plain

Add new viewをクリック。

f:id:atsuhiro-me:20151103003747p:plain

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

f:id:atsuhiro-me:20151103003748p:plain

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

f:id:atsuhiro-me:20151103003750p:plain

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

f:id:atsuhiro-me:20151103003753p:plain

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

f:id:atsuhiro-me:20151103003755p:plain

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

f:id:atsuhiro-me:20151103003757p:plain

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

f:id:atsuhiro-me:20151103003759p:plain

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

f:id:atsuhiro-me:20151103003803p:plain

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

f:id:atsuhiro-me:20151103003805p:plain

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

f:id:atsuhiro-me:20151103003808p:plain

AdvancedのAggregateをオンにする。

f:id:atsuhiro-me:20151103003810p:plain

こんな感じ。

f:id:atsuhiro-me:20151103003812p:plain

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

f:id:atsuhiro-me:20151103003814p:plain

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

f:id:atsuhiro-me:20151103003816p:plain

fieldに、Content: Nidを追加。

f:id:atsuhiro-me:20151103003817p:plain

Aggregation typeに、Countを指定。

f:id:atsuhiro-me:20151103003820p:plain

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

f:id:atsuhiro-me:20151103003821p:plain

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

f:id:atsuhiro-me:20151103003824p:plain

じゃじゃーんと完成!

f:id:atsuhiro-me:20151103003825p:plain

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

f:id:atsuhiro-me:20151103003827p:plain

Aggregation typeにCountを設定。

f:id:atsuhiro-me:20151103003830p:plain

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

f:id:atsuhiro-me:20151103003831p:plain

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

f:id:atsuhiro-me:20151103003833p:plain

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

f:id:atsuhiro-me:20151103003835p:plain

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