タクソノミー
前項で単一のページを作成しましたが、ページのカテゴリーの設定がされていない為、別のページでリスト化して読み込む事が出来ません。ページのカテゴリーを設定するためには、タクソノミーの機能を使い、カテゴリーを設定し、ページにカテゴリーを割り当てる必要があります。この記事ではカテゴリーの設定とページへの割り当てをまとめて行きます。
Drupalではこのカテゴリーをボキャブラリーとタームという言葉で管理しています。WordPressで言うところのタグがボキャブラリーで、タグとして使用するジーンズや時計といった言葉がタームになります。
ボキャブラリー > カテゴリーやタグといった分類するグループに該当
ターム > カテゴリーのジャンルやタグで指定する言葉に該当します。WordPressでは通常タグは1階層となっていますが、Drupalのタームは階層が自由に設定出来ます。
Drupalが優れているのは、このボキャブラリーを自由に設定出来ます。WordPressでタグという単一の機能を、ボキャブラリーを使い、[1]タグジーンズ > levi's Lee...、[2]タグ時計 > Rolex IWC...のような形でタグそのものをカテゴリー分けして複数使うことが出来ます。
[WordPress]
|
|- 投稿
|
|- タグ
// デフォルトで用意されています。主にページボディやサイドメニューなどににキーワードリンクとして設置します。
|
|- カテゴリー
// デフォルトで用意されています。主にナビゲーションメニューで使用します。
|
|- 設定は投稿の設定にて行います。
[Drupal]
|
|- ボキャブラリー
// 自由に追加出来ます。デフォルトでタグやトピックというグループが用意されていますが、必要なものを自由に追加したり編集することが出来ます。
|
|- ターム
// ボキャブラリーで設定したタグに必要なキーワードを追加して行きます。タームの使い方はナビゲーションメニューへの表示や、後述するView機能を使い、指定するページに自由に表示する事が出来ます。また、タグとしての機能ながら階層や表示順序を設定することが出来ますので、WordPressでいうところのタグ機能とカテゴリー機能の両機能を持ち合わせています。
|
|- 設定はサイト構築のタクソノミーから行います。
使い方
タクソノミーの使い方を簡単にまとめると
- タクソノミーでトピックを選択
- トピックにタームを追加
- タームを設定 > Drupalの記事といった命名
- タクソノミーでSite sectionを選択
- Site sectionにタームを追加
- タームを設定 > Drupalといった命名
- CivicThemeのPageで設定するメタデータを開く
- トピックの項に設定したターム > Drupalの記事を入力
- Site section項に設定したターム > Drupalを入力
を行う事でPageにトピックであるDrupalの記事とSite sectionであるDrupalが設定されます。
CivicThemeのPageで呼び出して使用出来るタームがトピックとSite sectionになります。
Drupalがデフォルトで用意するページや投稿のコンテンツは標準でタグが使用出来ます。
この設定を行うことで、別項で説明するView機能を使い、記事一覧のページやTopページにページの抜粋を表示する事が可能となります。
以下にタクソノミー機能の構成をまとめてみます。
[タクソノミー機能の構成]
サイト構築
|
|- タクソノミー
|
// 以下の項目が表示されます。
|
|---- ボキャブラリーを追加
|
-----------------------
// タグやカテゴリーのようなグループを追加出来ます。
// タクソノミーはコンテンツを分類します。タームはボキャブラリーで分類されます。例えば、「フルーツ」というボキャブラリーには、「リンゴ」や「バナナ」というタームが含まれます。
-----------------------
|
// CivicThemeを使う私のボキャブラリーは以下4つが設定されています。
|
|---- [1]Media tags
|
|---- [2]Site Section
|
|---- [3]タグ
|
|---- [4]トピック
|
-----------------------
// ボキャブラリーを新規で追加出来ますが、CivicThemeのPageで設定出来る項目が
|---- [2]トピック
|---- [3]Site Section
// の2項目なので、今回この2項目のうちトピックの設定を説明します。
// ボキャブラリーの設定は共通です。
-----------------------
|
|
[ボキャブラリーの構成]
|
// 以下の設定項目はボキャブラリーの設定となります。
|
|- [1]リスト
// 登録されたタームの一覧、ここでキーワードとなる言葉をタームと呼びます。
|
|- [2]編集
// トピックの名称やリヴィジョン、言語の設定
|
|- [3]フィールドの管理
// 現在未使用
|
|- [4]フォームの表示管理
// タームの設定に表示されるフォームの設定
|
|- [5]表示管理
// 呼び出した際に表示される項目の設定
|
|- [6]権限の管理
タームの追加や削除出来るユーザー権限の設定
|
|- [7]タクソノミーボキャブラリーの翻訳
タクソノミーで設定する言葉のデフォルト言語や翻訳をする設定
既存の[2]Site Sectionと[4]トピックを使用するので、[4]トピックにタームを追加する例をまとめます。追加の方法は同じなので[2]Site Sectionの例は割愛します。
以下にターム追加の構成をまとめてみます。
|- タームの追加
|
|-- [1]ビュー
|
|-- [2]編集
|
// 編集を選択すると以下の項が表示されます。
|---- [2.1]名前
// タームの名前 Drupalの記事など
|---- [2.2]説明
// エイリアスを設定すると該当するページを表示します。そのページに表示させる内容をここで設定
|---- [2.3]関連
// 階層を管理します。
// Drupalの記事 > CivicThemeの記事など
|---- [2.4]リヴィジョン情報
// リヴィジョンを管理します。
// 更新した場合に記録しておきます。
|---- [2.5]URLエイリアス
// ここでURLを設定すると該当タームの一覧ページを表示します。
// Drupalのデフォルトで一覧を表示するので、CivicThemeのデザインが崩れてしまいます。現状未使用
|---- [2.6]掲載
タームを掲載するか非掲載とするか選択します。タームを使用するなら掲載にします。
|---- [2.7]保存
// 設定したら保存します。
|
|-- [3]削除
|
|-- [4]リビジョン
タームの設定は簡単で、タームの名前を入力し、関連の項で階層を設定し、保存するだけです。
関連は、階層を設定します。例としてDrupalの記事 > CivicThemeの記事のような階層を設定します。
以下に当サイト内でDrupalの記事で使用しているタクソノミーの実例をまとめます。
[トピック]
|
|- [0]Drupal記事のまとめ
|
|- [1]Drupalの記事
|
|---- [1.1]環境構築
|
|---- [1.2]CivicTheme
|
|---- [1.3]WordPress
|
|---- [1.4]雑感
|
// のような簡単なタームを設定しています。
基本、ナビゲーションメニューと同様に設定しています。
実際のページを確認してみると
前記事は、[1]Drupalの記事、[1.2]CivicThemeの2つのタームを設定しています。
前記事 > #D24 Pageの作成 2
※ ページに設定したトピックはページ最下部に小さなブロックで表示されます。
この事で、
[1] Drupalの記事全てをまとめた > Drupalの記事
[2] Drupalの記事からCivicThemeの記事をまとめた > CivicThemeの記事
[3] TopページのDrupalの記事のセクション > HOME
の3つのページに表示されます。
まとめ
今回、ページにカテゴリーを設定するタクソノミー機能を使い、TOPページやカテゴリーが一致するカテゴリーリストのページに作成したページを表示することが出来ました。
タクソノミー機能のボキャブラリーとタームを設定しカテゴリーを作成しています。Drupalは一般的に使われるタグやカテゴリーという言葉ではなくボキャブラリーとタームという言葉を使い、サイト構築機能に専用の設定セクションを用意し機能を分けています。
WordPressがタグやカテゴリーを、実際に使用する頻度の高い投稿のセクションに配置することと異なり、Drupalはページを作成するコンテンツセクションではなく、サイト構築という機能の設定を行う場所にタクソノミーというセクションを設け設定するようにしています。
この事で、作成したタームをページ作成機能以外からも呼び込めるようにし、一度作成した機能を自由に色々な場所で使えるようになっています。
Drupalの思想
思想というと大袈裟でありますが、この発想はプログラミングにおける関数の定義と使い回しに近い考え方であり、DrupalのAdmin Menu内の機能はこの発想を元に用意されているのではと私は感じています。
Admin Menu内で使用されている用語や配置の構成が独特である理由も、エンジニアがコードの代わりにGUIを使いWEBサイトを構築する発想から生まれていて、その事から利用するための事前知識を自主的に得ている事が前提となっているのではと考えると納得出来ます。
Drupalは初心者に敷居が高いが、学習曲線が指数関数的に上がりしばらく使っていく事で、他のCMSより柔軟で自由にWEBサイトを構築できるようになると言われている理由の一つとも考えています。
Drupalで、WEBサイトを構築するには、Admin Menu内の機能を使いこなす必要があります。このAdmin Menu内の機能は、該当する機能のコードの一部をGUI化する事でコードを書かずに、自由に触れるようにしているような印象を受ける事があります。この事からDrupalがエンジニアの CMSやCMF > コンテンツマネージメントフレームワークと言われている理由も理解出来ます。
※ 他のCMSも根本は同じ発想で構築されていますが、Drupalの機能がよりコードを弄っている感覚に近いという意味合いの文章となります。
私がコードを自由に書き換えカスタマイズをしていくような知識を持っていませんが、このインターフェースによる、設定や構築の自由度の高さも私がDrupalを使い感銘を受けている理由となります。
話が脱線してしまいましたが、次項で、カテゴリーリストのページをどう作るかや、ページ内に別記事を読み込ませる機能をまとめて行きます。
Drupalの記事
関連するDrupalでWEBサイトを構築する為の環境構築の記事やDrupalについて書いた記事になります。
記事は全てナンバリングしています。Drupalを初めて使う為の準備から始まる最初の記事から読む事もできます。
Civic Themeの記事
Drupal記事
最新の記事
Drupalについて書いた最新の記事になります。
#D30 Civic Theme 1.9.0 UpDate
#D29 Drupal Core Update
Life Styleの記事
Drupalとは関係ないのですがLife Styleの記事も書いていますのでよろしければ購読ください。